-1
可以根據多邊形形狀(管理邊界)的高度定義縮放級別嗎? 這個多邊形將完整顯示到地圖的div中。動態設置谷歌地圖縮放
可以根據多邊形形狀(管理邊界)的高度定義縮放級別嗎? 這個多邊形將完整顯示到地圖的div中。動態設置谷歌地圖縮放
有一個map.fitBounds(my_bounds)
函數,它將視口設置爲包含給定邊界。它會將地圖設置爲可能的最高縮放級別,您可以在其中看到整個邊界。
爲此,您需要確定多邊形的邊界。如果使用google.maps.Polygon
顯示多邊形,請檢查this solution。
在這種情況下,你會:
google.maps.Polygon.prototype.getBounds = function() {
var bounds = new google.maps.LatLngBounds();
var paths = this.getPaths();
var path;
for (var i = 0; i < paths.getLength(); i++) {
path = paths.getAt(i);
for (var ii = 0; ii < path.getLength(); ii++) {
bounds.extend(path.getAt(ii));
}
}
return bounds;
}
...
map.fitBounds(my_polygon.getBounds());
如果使用Data layer
顯示多邊形,請this SO answer。它提供瞭如何計算Data.Feature
的邊界(如果它是多邊形)的示例。
如果你有確定多邊形的邊界的一些其他手段,就用這樣的:
map.fitBounds(new google.maps.LatLngBounds(new google.maps.LatLng(SouthWestCornerLat, SouthWestCornerLng), new google.maps.LatLng(NorthEastCornerLat, NorthEastCornerLng));
完美。謝謝 ! –