gpt4 book ai didi

javascript - 重新调整谷歌地图的大小并重新居中,无需访问全局变量 "map"

转载 作者:行者123 更新时间:2023-11-28 00:19:15 25 4
gpt4 key购买 nike

我在我的页面上实现了谷歌地图,并且我希望能够在特定事件发生后调整其大小并使其居中。这是我在互联网上找到的代码:

var center = map.getCenter();
google.maps.event.trigger(map, "resize");
map.setCenter(center);

现在这一切都很酷,但我无法访问“ map ”全局。相反,我已经能够使用 jquery 选择器来获取 map Canvas DOM,如下所示:

google.maps.event.trigger($("#map-canvas")[0], 'resize');

但是当我尝试调用 getCenter() 和 setCenter() 时,使用 $("#map-canvas")[0]; 不起作用。有什么想法吗?

谢谢

最佳答案

您的 map 变量是 google map 对象的实例,但您的 $("#map-canvas")[0] 是 DOM 元素,因此您无法调用任何方法,因为 google不会识别它。

就您而言,这可能只是范围问题

为什么不将 map 变量全局化并在任何地方调用它,例如:

var map; // my google map object

$(document).ready(function(){
var center = map.getCenter();
google.maps.event.trigger(map, "resize");
map.setCenter(center);
});

然后,每当您调用 map.getCenter(); 时,它都应该返回该值(显然,仅当您已经创建了 google 对象时)

关于javascript - 重新调整谷歌地图的大小并重新居中,无需访问全局变量 "map",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30181477/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com