使用gmaps.js查找距离我的位置最近的标记

时间:2013-07-08 21:00:33

标签: google-maps geolocation google-maps-markers

我正在使用gmaps.js并且我在地图上创建了几个标记,然后我使用地理位置在地图上找到我的位置,到目前为止一直很好,我现在唯一的问题是它找到了对我来说最近的标记然后也可能画出从我到那个标记的路径

到目前为止我的代码:

var map;
map = new GMaps({
    div: '#map_canvas',
    lat: 36.111114,
    lng: -104.88118,
    zoom: 16,
    zoomControl: 0,
    streetViewControl: 0,
    mapTypeControl: 0,
    panControl: 0
});
map.addMarker({
    lat: 36.072967,
    lng: -105.007866,
    title: 'Marker 1'
});
map.addMarker({
    lat: 36.072967,
    lng: -105.007866,
    title: 'Marker 2'
});
map.addMarker({
    lat: 36.160746,
    lng: -104.908646,
    title: 'Marker 3'
});
GMaps.geolocate({
    success: function(position) {
        map.setCenter(position.coords.latitude, position.coords.longitude);
        map.addMarker({
            lat: position.coords.latitude,
            lng: position.coords.longitude,
            title: 'Your Location'
        });
    },
    error: function(error) {
        alert('Geolocation failed: '+error.message);
    },
    not_supported: function() {
        alert("Sorry, your device does not support geolocation.");
    },
    always: function() {
        alert("Done!");
    }
});

非常感谢任何帮助。 :)

1 个答案:

答案 0 :(得分:0)

您必须计算每个标记与您的位置之间的距离,然后选择距离最近的点。看看this page。有一个方法的描述,用JS中的示例代码计算两个latlng点之间的距离。这应该足以解决您的问题