谷歌地图v3缩放以适应所有标记(路径)功能

时间:2012-10-01 18:21:03

标签: javascript google-maps maps zoom

我在js小提琴上放了一个小片段,这样你就可以看到我在做什么了。

基本上我正在尝试连接“缩放”按钮,这样一旦创建路径,您可以单击缩放按钮,地图缩放以适​​合路径。我找到的所有答案都有一系列我没有的标记。任何建议都将不胜感激。

http://jsfiddle.net/A3NBZ/

2 个答案:

答案 0 :(得分:7)

嗯,实际上你有一系列标记!当用户点击地图时,它存储在您创建的Polyline中。要检索用户点击的点,只需使用Polyline.getPath()即可。然后,您可以将这些点(如提到的geocodezip)添加到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);                    
}

答案 1 :(得分:0)

与您在标记中看到的示例类似,将路径中的所有google.maps.LatLngs添加到google.maps.LatLngBounds对象(使用bounds.extend()),然后在生成的边界上调用map.fitBounds对象

updated jsfiddle