首页 > 解决方案 > 获取用户的位置,然后使用 GeolocateControl 地图框以一个端点作为用户的位置显示方向

问题描述

我正在为 mapbox 使用 web (js) api。

var geolocate = new mapboxgl.GeolocateControl({
positionOptions: {
enableHighAccuracy: true
},
trackUserLocation: true
})
map.addControl(geolocate);

当 I 时console.log(geolocate),我可以在(对象的)一些下划线字段中找到 lat lng 详细信息。找不到正确的方法来获取用户的 lat lng。但我无法在脚本中访问它,因为没有按下地理定位按钮。

找到用户位置后,我想显示从用户位置到地图上固定点的方向。如何做到这一点?如果事情不清楚,请告诉我。谢谢你。

标签: javascriptwebgeolocationmapbox

解决方案


每次更新时,您都可以使用 geolocate 控件的'geolocate'event检索用户的当前位置。例如:

geolocate.on('geolocate', function(position) {
  console.log(`latitude: ${position.coords.latitude}, longitude: ${position.coords.longitude}`);
});

一旦您检索到如上所示的纬度和经度,您可以将这些坐标与“地图上的固定点”的坐标一起传递给Mapbox Directions API,以生成用户当前位置和所述固定点之间的路线。


推荐阅读