幅より高さが長いマップがあります。場合によっては、すべてのマーカーを表示するために fitBounds メソッドがズームと中心を正しく調整できないことに気付きました。
この例で問題を切り分けることができました。
この例では、最初に 23 の位置をロードしようとしましたが、かなりズームされていることに気付くでしょう。私がやっていることは次のとおりです。
//extending 23 positions doesn't really work
bounds = new google.maps.LatLngBounds ();
for (var i = 0; i < markerList.length; i++) {
pos = new google.maps.LatLng (markerList[i]["Za"],markerList[i]["$a"])
bounds.extend(pos);
}
window.map.fitBounds(bounds);
5 秒後、その基本的なスクリプトを再度実行しますが、今回は 23 を拡張する代わりに、境界を 5 回だけ拡張します。今度はマップが実際に縮小されます。
私が気付いたのは、この問題を再現するには、キャンバス div の幅と高さを設定する必要があることです。
<div id="map_canvas" style="width:450px;height:600px;"></div>
だから私の質問は次のとおりだと思います:マップキャンバスサイズを設定し、25以上の位置にfitBounds()を正常に設定するにはどうすればよいですか?