javascript - Google map API v3 设置缩放级别以显示给定半径?

标签 javascript google-maps

我创建了一个 map ,用户在其中输入邮政编码和半径(英里),我希望 map 以根据邮政编码创建的点为中心,并且仅显示(大致)该半径内的区域。我正在创建一个具有半径的圆,并尝试让 map 适合该圆。现在它已正确居中,但显示的区域远远大于给定的半径。

me.center_map = function(latlng, r)
{
    // latlng is the point of the zipcode
    var circ = new google.maps.Circle();
    circ.setRadius(r * 1609.0);
    circ.setCenter(latlng);
    map.setCenter(latlng);
    map.fitBounds(circ.getBounds());

    // updates markers
    google.maps.event.trigger(map,'dragend');
};

编辑:画出我正在使用的圆圈。理想情况下, map 会放大到半径内的区域。

enter image description here

最佳答案

对 fitBounds() 的调用将缩放到完全包含边界的最小缩放级别。如果您再放大 1 级,则半径将不会完全包含在 map 内。

关于javascript - Google map API v3 设置缩放级别以显示给定半径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5162950/

相关文章:

javascript - 如何使用谷歌地图 DrawManager 以编程方式绘制多边形

javascript - 谷歌没有定义,除非它是

javascript - 更改 scroll-snap-type 或 scroll-snap-align 时 Safari 浏览器失去滚动位置

javascript - 忽略除 .gitignore 中的一个以外的所有子目录

javascript - 响应式布局的图像延迟加载?

javascript - 从嵌套的谷歌地图标记数组获取标记位置

javascript - 如何删除所有与google api相关的脚本?

javascript - 使用 parseKmlString() 和 parse() 使用 geoxml 加载 map

javascript - 显示段落字符串的自定义长度

javascript - $PUSH 到 mongoose 中的 Subdoc 数组中