gpt4 book ai didi

javascript - 动态谷歌地图缩放 getBounds() undefined

转载 作者:行者123 更新时间:2023-11-30 18:49:12 25 4
gpt4 key购买 nike

我有这段javascript代码

    var myOptions = {
zoom:9,
mapTypeId: google.maps.MapTypeId.ROADMAP,
mapTypeControl: false
}
var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
var latlongcollection = new Array();
// some more code to push latlng objects into latlongcollection
map.setCenter(latlongcollection[0]);

for(latlong in latlongcollection){
map.getBounds().extend(latlong);
}

map.fitBounds(map.getBounds());

但每次它都会给我错误 map.getBounds() is undefined。中心设置均匀。在我调用 map.getBounds() 之前设置了缩放。请帮忙

最佳答案

尝试使用新的 google.maps.LatLngBounds对象而不是 map.getBounds():

var bounds = new google.maps.LatLngBounds()
// note: this for/in loop is erronous
//for(latlong in latlongcollection){
// bounds.extend(latlong);
//}
for ( var i = 0,len=latlongcollection.length;i<len;i++) {
bounds.extend( latlongcollection[ i ] );
}
map.fitBounds( bounds );

此外,您使用的 for 循环在与数组结合使用时效果不佳。数组上的 for/in 不仅会遍历索引值,还会遍历属性和方法。因此,您将使用 .length 和 .push 等扩展您的界限。仅此一项也可能导致该错误。始终阅读 for/in 循环:

for property in object 

其中包括方法等。

关于javascript - 动态谷歌地图缩放 getBounds() undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4468514/

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