0

我正在使用 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!");
    }
});

任何帮助将不胜感激。:)

4

1 回答 1

0

您必须计算每个标记与您的位置之间的距离,并选择距离最短的点。看看这个页面。有一种方法的描述,该方法使用 JS 中的示例代码计算两个纬度点之间的距离。这应该足以解决您的问题

于 2013-07-09T08:41:53.863 回答