如何用mapboxgl试下类似百度地图的测距功能,鼠标放到拐点,鼠标样式变成手型,并可以拖动
时间: 2023-01-29 17:58:54 浏览: 45
为了实现类似百度地图的测距功能,你可以使用Mapbox GL的Measurement API。
首先,你需要在你的HTML页面中引入Mapbox GL的JS文件,然后初始化地图:
```
mapboxgl.accessToken = 'YOUR_MAPBOX_ACCESS_TOKEN';
var map = new mapboxgl.Map({
container: 'map',
style: 'mapbox://styles/mapbox/streets-v11',
center: [113.35, 23.1],
zoom: 12
});
```
然后你可以使用下面的代码初始化测距控件:
```
var measurement = new MapboxGL.Measurement({
map: map
});
measurement.setUnit('kilometers');
document.getElementById('measurement_btn').addEventListener('click', function () {
measurement.toggle();
});
```
上面的代码中,我们使用了Mapbox GL的Measurement类来创建测距控件。使用setUnit方法可以设置测距的单位。然后我们为测距按钮添加了一个点击事件,当用户点击按钮时,会调用toggle方法来启动/关闭测距功能。
当用户在地图上点击时,测距控件会在地图上画出测距路线。当用户将鼠标放到拐点上时,鼠标样式会变成手型,并且可以拖动。
你可以在Mapbox GL的官方文档中了解更多关于Measurement API的使用方法:https://docs.mapbox.com/mapbox-gl-js/api/#mapboxgl.Measurement