1

Wordpressでダイナミックなグーグルマップを作成しました。

今、私はグーグルマップ上のすべてのポイントをスポーンした後、マップを再センタリング/ズームして、スポーンされたすべてのポイントをコンテナに合わせ、たとえば、すべての側に10%のマージンを持たせる方法を探しています。

APIを検索しましたが、役立つと思われるものは見つかりませんでした。

それを行う方法はありますか、それともスニペットが必要ですか?

PS:私はJavascriptでAPI V3を使用しています(PHPを介してマップにデータを入力します)。

4

2 に答える 2

4

マーカーの配列をループし、境界を拡張する必要があります。この例では、マップに追加されたすべてのマーカーを以前に入力したmarkers[]変数を想定しています。

var bounds = new google.maps.LatLngBounds(),
    markerIndex = 0;
for (markerIndex; markerIndex < markers.length; markerIndex++) {
    var marker = this.markers[markerIndex];
    bounds.extend(marker.position);
}
map.fitBounds(bounds);
于 2012-10-02T20:23:37.730 に答える
1

基本的に、次のような座標のリストが必要です。

var LatLngList = array(new google.maps.LatLng(52.537,-2.061), new google.maps.LatLng(52.564,-2.017));

のインスタンスLatLngBounds

var bounds = new google.maps.LatLngBounds();

各LatLngをこのインスタンスに拡張します。

for (var i = 0, LtLgLen = LatLngList.length; i < LtLgLen; i++) {
  bounds.extend(LatLngList[i]);
}

そしてfitBounds()

map.fitBounds(bounds);
于 2012-10-02T20:26:44.370 に答える