我正在构建一个Web应用程序,以查看附近的特色步行路线。
用户可以使用该应用从我附近的特色路线导航至标记。
我正在使用路线服务,该服务可以给我这样的步行说明清单:
我现在正在尝试将路线与当前位置合并。这样做的最佳选择是什么?我想根据当前位置更新说明,例如,如果我朝东走在Amstelkade上,我想在顶部看到下一条说明。我提出了以下建议:
将GeolocateControl添加到Mapbox
let geolocate = new mapboxgl.GeolocateControl({
positionOptions: {
enableHighAccuracy: true
},
trackUserLocation: true
})
map.addControl(geolocate);
在地理位置更改事件上放置一个侦听器,并更新起始位置(来源)以获取最新的指示。
geolocate.on('geolocate', function(location) {
currentLocation = location;
setOrigin(location);
setDestination(location);
});
function setOrigin(location){
if(Object.keys(directions.getOrigin()).length === 0){
directions.setOrigin([location.coords.longitude, location.coords.latitude]);
}
}
如果这是一个适当的解决方案,我会迷茫,因为这样我发出了很多请求(尽管可以在geolocate事件上放置一个反跳器)。有没有更好的方法来解决此问题并使它更加用户友好?
问题2:是否可以像Google一样向Mapbox添加方向指示器(您要驶向的蓝色光束)?
谢谢!