【问题标题】:map.fitBounds to nearest 5 markers to the myLocationmap.fitBounds 到离 myLocation 最近的 5 个标记
【发布时间】:2016-02-17 18:15:10
【问题描述】:

我有 myLocation 和一组标记。我可以成功地使用 fitBounds 将它们全部显示出来。

我想放大/缩小到 myLocation 加上最近的 5 个标记(到 myLocation)。

如果我有最近的 5 个,我可以遍历它们和 bounds.extend(latlng); 每一个,以及 myLocation。 (我认为)

我如何找到最近的 5 个?

【问题讨论】:

标签: google-maps google-maps-api-3


【解决方案1】:

这是我根据Google Maps API - Closest marker function change to closest n markers 的建议所做的

function sortByDist(a, b) {
    return (a.distance - b.distance)
}

function findClosestN(pt, numberOfResults) {
    var closest = [];
    for (var i = 0; i < markers.length; i++) {
        markers[i].distance = google.maps.geometry.spherical.computeDistanceBetween(pt, markers[i].getPosition());
        closest.push(markers[i]);
    }
    closest.sort(sortByDist);
    return closest.splice(0,numberOfResults);
}


closest = findClosestN(urHeremarker.position, 5);
for(i = 0; i < closest.length; i++) {
    bounds.extend(closest[i].position);
}
bounds.extend(urHeremarker.position);

map.fitBounds(bounds);

【讨论】:

    猜你喜欢
    • 2013-07-06
    • 2020-09-25
    • 1970-01-01
    • 2017-02-22
    • 1970-01-01
    • 2010-12-01
    • 2018-02-06
    • 2015-03-10
    相关资源
    最近更新 更多