Geolocation 如何使用JS/Mapbox在web地图中跟踪我的位置?

Geolocation 如何使用JS/Mapbox在web地图中跟踪我的位置?,geolocation,leaflet,mapbox,Geolocation,Leaflet,Mapbox,在最近的一个项目中,我必须为一个web应用程序实现一个地理位置跟踪功能,该应用程序在地图上显示用户的数据,该地图由PropaleJS/Mapbox提供支持。传单和很有帮助,但我找不到一个很好的例子来说明它们是如何协同工作的,或者使用传单进行连续位置跟踪是什么样子的。因为我在任何地方都找不到一个很好的例子,所以我决定创建自己的。在您的移动设备上尝试运行的web应用程序。希望这能帮助别人 var marker, circle; function onLocationFound(e) { v

在最近的一个项目中,我必须为一个web应用程序实现一个地理位置跟踪功能,该应用程序在地图上显示用户的数据,该地图由PropaleJS/Mapbox提供支持。传单和很有帮助,但我找不到一个很好的例子来说明它们是如何协同工作的,或者使用传单进行连续位置跟踪是什么样子的。

因为我在任何地方都找不到一个很好的例子,所以我决定创建自己的。在您的移动设备上尝试运行的web应用程序。希望这能帮助别人

var marker, circle;

function onLocationFound(e) {
    var radius = e.accuracy / 2;

    if(marker) {
        map.removeLayer(marker);
    }

    if(circle) {
        map.removeLayer(circle);
    }                

    marker = L.marker(e.latlng);
    circle = L.circle(e.latlng, radius);

    marker.addTo(map)
        .bindPopup("You are within " + radius + " meters from this point").openPopup();

    circle.addTo(map);            
}

function onLocationError(e) {
    alert(e.message);
}

map.on('locationfound', onLocationFound);
map.on('locationerror', onLocationError);

map.locate({setView: true, 
            maxZoom: 20,
           watch: true,
           enableHighAccuracy: true,
           maximumAge: 15000,
           timeout: 3000000});

工作应用程序

在您的JSFIDLE中,我应该在我的网站中使用什么字符串而不是“hanislovingit.kep5bm68”
var map=L.mapbox.map('map','hanislovingit.kep5bm68')
在mapbox网站中,我看到
mapbox.streets
是什么?我想字符串“hanislovingit.kep5bm68”是我在mapbox帐户中的测试项目名称。您可以在Mapbox帐户中创建自己的项目并使用它。顺便说一句,如果您正在考虑使用Mapbox作为浏览器,请使用新的MapboxGL.js,它利用客户端计算机的图形卡来获得更好的性能。