【问题标题】:How to set zoom to fit circle in Google Maps如何设置缩放以适应谷歌地图中的圆圈
【发布时间】:2012-04-03 20:04:07
【问题描述】:

我们有距离搜索过滤器。它有一个允许设置基本标记的地图视口和一个允许以公里为单位输入距离的输入文本框。

然后我们添加circle 以在地图上显示此距离。

如何缩放地图以使其适合圆圈?

【问题讨论】:

    标签: google-maps google-maps-api-3 geometry google-maps-markers zooming


    【解决方案1】:

    google.maps.Circle 有一个 getBounds() 方法,它返回圆圈的 LatLngBounds。您可以将此边界用作google.maps.Map.fitBounds()的参数

    如果使用圆圈,您可以这样做:

    map.fitBounds(circle.getBounds());
    

    ...在初始化函数的末尾。

    http://jsfiddle.net/doktormolle/MHLjy/

    【讨论】:

    • 就这么简单。谢谢你。我确实使用了 map.fitBounds() 但没有注意到 circule 有 getBounds。非常好:)
    • 这应该被接受为这个问题的答案
    【解决方案2】:

    对于多个圈子,请使用 union 而不是 extend

    var bounds = new google.maps.LatLngBounds();
    
    $.each(circles, function(index, circle){
        bounds.union(circle.getBounds());
    });
    
    map.fitBounds(bounds);
    

    【讨论】:

    • 不错。我用它来确保至少搜索半径圆被包围,然后使用 latlngBounds.extend(marker.getPosition()) 将任何标记的边界扩展得更远
    猜你喜欢
    • 2012-07-03
    • 2011-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-12
    • 1970-01-01
    • 2015-01-04
    相关资源
    最近更新 更多