Google Maps API v3设置缩放级别以显示给定的半径?

rof*_*fle 24 javascript google-maps

我创建了一个用户输入邮政编码和半径(英里)的地图,我希望地图以从邮政编码创建的点为中心,并且只显示(大致)该半径范围内的区域.我正在创建一个半径为圆形的圆圈,并尝试使地图适合该圆圈.现在它正确居中,但显示的区域超过了给定的半径.

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');
};
Run Code Online (Sandbox Code Playgroud)

编辑:画出我正在使用的圆圈.理想情况下,地图将放大到半径范围内的区域.

在此输入图像描述

Ale*_*lex 21

对fitBounds()的调用将缩放到完全包含边界的最小缩放级别.如果要放大1个缩放级别,则半径将不会完全包含在地图中.

  • 是的,你需要能够呈现部分缩放级别的东西,例如,而不是z = 11,你需要z = 11.5 (3认同)
  • syslogic:我意识到了.我的意思是谷歌地图需要能够渲染浮点缩放级别. (2认同)