2012-10-01 49 views

回答

7

唉,其實你有標記的數組!它存儲在用戶點擊地圖時創建的Polyline中。要檢索用戶點擊的點,只需使用Polyline.getPath()即可。然後,您可以將這些點(作爲地理編碼提及)添加到LatLngBounds對象,並使用google.maps.Map.fitBounds()將地圖視圖調整爲給定範圍。

下面是基於您提供的代碼示例(您可以看到它工作here)縮放方法的簡單實現。

function zoom() { 
    var bounds = new google.maps.LatLngBounds(); 
    geodesic.getPath().forEach(function(latLng) { 
    bounds.extend(latLng); 
    }); 
    map.fitBounds(bounds);      
} 
+0

非常感謝你,工作就像一個魅力! – Shane

0

給你帶標記看到的例子類似,(使用bounds.extend())添加的所有google.maps.LatLngs的路徑google.maps.LatLngBounds對象,然後調用地圖.fitBounds生成的邊界對象。

updated jsfiddle

+0

對不起,能否爲我詳細說明一下,我對js和api有點新鮮。 – Shane

+0

增加了一個jsfiddle,它擴展了每個點的邊界並使用map.fitBounds(bounds)。 – geocodezip