我已经放在一起在js小提琴上的一个小片段,所以你可以看到我正在与我的工作。谷歌地图v3缩放以适合所有标记(路径)功能
基本上我试图挂钩一个“缩放”按钮,以便一旦创建路径,您可以单击缩放按钮,然后地图缩放以适合路径。我找到的所有答案都有我没有的一系列标记。任何建议将不胜感激。
我已经放在一起在js小提琴上的一个小片段,所以你可以看到我正在与我的工作。谷歌地图v3缩放以适合所有标记(路径)功能
基本上我试图挂钩一个“缩放”按钮,以便一旦创建路径,您可以单击缩放按钮,然后地图缩放以适合路径。我找到的所有答案都有我没有的一系列标记。任何建议将不胜感激。
唉,其实你做有标记的数组!它存储在用户点击地图时创建的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);
}
给你带标记看到的例子类似,(使用bounds.extend())添加的所有google.maps.LatLngs的路径google.maps.LatLngBounds对象,然后调用地图.fitBounds生成的边界对象。
对不起,能否为我详细说明一下,我对js和api有点新鲜。 – Shane
增加了一个jsfiddle,它扩展了每个点的边界并使用map.fitBounds(bounds)。 – geocodezip
非常感谢你,工作就像一个魅力! – Shane