-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 に答える