我创建了一个 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 会放大到半径内的区域。
最佳答案
对 fitBounds() 的调用将缩放到完全包含边界的最小缩放级别。如果您再放大 1 级,则半径将不会完全包含在 map 内。
关于javascript - Google map API v3 设置缩放级别以显示给定半径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5162950/