2012-10-01 50 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