2012-03-19 37 views
15

我們有遠處的搜索過濾器。它具有地圖視口,允許設置基本標記和輸入文本框,允許以公里爲單位輸入距離。如何Google地圖圈子適合地圖

然後在視口中我們使用circle在地圖上顯示此距離。

問題,我如何縮放地圖以適應圓?

回答

38

A google.maps.Circle有一個getBounds()方法,它返回圓的LatLngBounds。在初始化函數結束

map.fitBounds(circle.getBounds()); 

...:如果使用的是圓形,您可以使用此範圍作爲論據google.maps.Map.fitBounds()

,你可以做到這一點。

http://jsfiddle.net/doktormolle/MHLjy/

+0

這個簡單。謝謝。我沒有使用map.fitBounds(),但沒有注意到circule具有getBounds。非常好:) – 2012-03-19 11:55:56

+0

非常好,謝謝 – 2017-04-02 20:37:12

15

對於多圈使用聯盟代替延長

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

$.each(circles, function(index, circle){ 
    bounds.union(circle.getBounds()); 
}); 

map.fitBounds(bounds); 
+1

不錯。我已經使用它來確保*至少包含搜索半徑圓,然後使用latlngBounds.extend(marker.getPosition())擴展任何標記的邊界 – Jon 2016-08-05 16:26:24