-1

我有这段代码可以加载 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);



        }
      });
4

1 回答 1

1

缩放“立即”发生,并且不会缓慢缩放至水平- 这就是当您这样做时实际发生的方式fitBounds()。看起来您想要类似 的东西,map.panTo()它使地图上的过渡缓慢不同于map.setCenter(),但在 fitBounds() 中并非如此。

地图缩小得比它需要的远得多——移动到map.fitBounds(markerBounds);外面for loop

于 2012-11-19T08:35:42.490 回答