私は地図上に複数のマーカーを設定しており、ズームレベルと中心を静的に設定できますが、私が望んでいるのは、すべてのマーカーをカバーし、すべての市場が表示されるように可能な限りズームすることです。
利用可能な方法は次のとおりです
そして
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: none
、fitBounds
関数はマップのサイズを として読み取り0x0
、何も行いません。マップが非表示のときにビューポートを変更するには、マップを に設定してvisibility: hidden
、マップの div が実際のサイズになるようにします。