表示されているすべてのマーカーをカバーするようにマップの中心/ズームを設定しますか? 質問する

表示されているすべてのマーカーをカバーするようにマップの中心/ズームを設定しますか? 質問する

私は地図上に複数のマーカーを設定しており、ズームレベルと中心を静的に設定できますが、私が望んでいるのは、すべてのマーカーをカバーし、すべての市場が表示されるように可能な限りズームすることです。

利用可能な方法は次のとおりです

setZoom(zoom:number)

そして

setCenter(latlng:LatLng)

setCenter複数の場所や場所の配列入力をサポートしておらずsetZoom、この種の機能もありません。

ここに画像の説明を入力してください

ベストアンサー1

メソッドを使用する必要がありますfitBounds()

var markers = [];//some array
var bounds = new google.maps.LatLngBounds();
for (var i = 0; i < markers.length; i++) {
 bounds.extend(markers[i]);
}

map.fitBounds(bounds);

ドキュメント開発者向けサイト::

fitBounds(bounds[, padding])

パラメーター:

`bounds`:  [`LatLngBounds`][1]|[`LatLngBoundsLiteral`][1]
`padding` (optional):  number|[`Padding`][1]

戻り値:なし

指定された境界を含むようにビューポートを設定します。
: マップが に設定されている場合display: nonefitBounds関数はマップのサイズを として読み取り0x0、何も行いません。マップが非表示のときにビューポートを変更するには、マップを に設定してvisibility: hidden、マップの div が実際のサイズになるようにします。

おすすめ記事