我在跨平台的移动应用中使用Leaflet。
我希望用户实时在地图上看到他/她的运动。
我还想将它们的经度和纬度分别作为全局变量保存,因为我以后需要此信息进行计算。
以下是我到目前为止的内容:
map.locate({
watchPosition:true,
maxZoom:16
});
function onLocationFound(e)
{
var radius = e.accuracy / 2;
L.circle(e.latlng, radius,
{
color: 'red',
fillColor: '#f03',
fillOpacity: 0.5,
radius: 400
}).addTo(map);
}
map.on('locationfound', onLocationFound);
我相信“ watchPosition:true”可使地图继续监视用户。
我只是不知道如何提取经度和纬度信息。
预先感谢
答案 0 :(得分:0)
Leaflet map.locate
选项仅为watch
:
如果使用
true
,则使用W3CwatchPosition
方法开始连续观察位置变化(而不是检测一次)。
答案 1 :(得分:0)
function onLocationFound(e)
{
var radius = e.accuracy / 2;
userLat = e.latlng.lat;
userLng = e.latlng.lng;
movingCircle.setLatLng(e.latlng);
movingCircle.redraw();
}
var userLocation = map.locate
({
watch:true,
maxZoom:16,
enableHighAccuracy: true
});
var userLat;
var userLng;
enter code here
var movingCircle = L.circle([0,0], 20,
{color: 'red',
fillColor: '#f03',
fillOpacity: 0.5,
draggable: true }).addTo(map);