Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google maps “谷歌地图不缩放”;有机地;加载新标记时_Google Maps_Google Maps Api 3 - Fatal编程技术网

Google maps “谷歌地图不缩放”;有机地;加载新标记时

Google maps “谷歌地图不缩放”;有机地;加载新标记时,google-maps,google-maps-api-3,Google Maps,Google Maps Api 3,我有一段加载XML图形标记的代码,我还将它设置为在加载新标记时缩放。然而,我不喜欢的是,缩放是“瞬间”进行的,并且不会缓慢地缩放到水平,而且,由于某种原因,地图也会比需要的远得多。我希望地图只缩小到它需要的地方,这样标记就在视野中了 有什么建议吗?谢谢 clearOverlays(); downloadUrl("AllActivityxml.php", function(data) { var xml = data.responseXML; var markers

我有一段加载XML图形标记的代码,我还将它设置为在加载新标记时缩放。然而,我不喜欢的是,缩放是“瞬间”进行的,并且不会缓慢地缩放到水平,而且,由于某种原因,地图也会比需要的远得多。我希望地图只缩小到它需要的地方,这样标记就在视野中了

有什么建议吗?谢谢

clearOverlays();
downloadUrl("AllActivityxml.php", function(data) {
        var xml = data.responseXML;
        var markers = xml.documentElement.getElementsByTagName("marker");
        for (var i = 0; i < markers.length; i++) {
          var name = markers[i].getAttribute("id");
          var address = markers[i].getAttribute("id");
          var type = markers[i].getAttribute("venue_type");
          var point = new google.maps.LatLng(
              parseFloat(markers[i].getAttribute("lat")),
              parseFloat(markers[i].getAttribute("lng")));
          var html = "<b>" + name + "</b> <br/>" + address;
          var icon = customIcons[type] || {};
markerBounds.extend(point);
          var marker = new google.maps.Marker({
            map: map,
            position: point,
            icon: icon.icon,
            shadow: icon.shadow

          });

          markersArray.push(marker);
          bindInfoWindow(marker, map, infoWindow, html);
          map.fitBounds(markerBounds);



        }
      });
clearOverlays();
下载URL(“AllActivityxml.php”,函数(数据){
var xml=data.responseXML;
var markers=xml.documentElement.getElementsByTagName(“标记”);
对于(var i=0;i“+地址;
var icon=customIcons[type]| |{};
扩展标记边界(点);
var marker=new google.maps.marker({
地图:地图,
位置:点,,
icon:icon.icon,
阴影:icon.shadow
});
markersArray.push(marker);
bindInfoWindow(标记、地图、infoWindow、html);
地图边界(markerBounds);
}
});
缩放“立即”发生,并且不会缓慢地缩放到水平--这就是当您执行
fitBounds()
时实际发生的情况。看起来您需要类似于
map.panTo()
的东西,这使得map上的转换速度慢于
map.setCenter()
,但fitbunds()中的情况并非如此


map缩小的比它需要的还要远——移动
map.fitBounds(markerBounds)
for循环之外

嘿,谢谢,但是把
map.panTo(markerBounds)
放在循环之外没有任何作用。没有错误,但是也没有缩放。没有。panTo()将不适用于边界变量,这就是我提到的。关于缓慢缩放的第一个问题没有解决方法。我解决了你关于缩放的第二个问题了吗?嗨,Cdeez,不是真的-因为我想让缩放感觉自然。然而,在谷歌搜索之后,我发现这是不可能的。谢谢你的回答。