Google地图不会缩放"有机地"何时加载新标记

时间:2012-11-18 16:45:12

标签: google-maps google-maps-api-3

我有这个加载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);



        }
      });

1 个答案:

答案 0 :(得分:1)

缩放“即时”发生并且不会缩放到缓慢水平 - 这就是你fitBounds()时实际发生的情况。看起来你想要map.panTo()之类的东西,它使得地图上的转换慢慢地与map.setCenter()不同,但在fitBounds()中并非如此。

地图缩小的范围远远超出了它的需要 - map.fitBounds(markerBounds);移到for loop

之外