百度地图 本来api不带测距的功能 不过在开源库中存在一个 测距的工具类库
DistanceTool 工具
这个是工具类的地址
http://api.map.baidu.com/library/DistanceTool/1.2/src/DistanceTool_min.js
然后我们拿到本地进行使用
// 百度地图sdk
<script type="text/javascript" src="//api.map.baidu.com/api?v=2.0&ak=你的ak密钥"></script>
// 工具类
<script src="./DistanceTool_min.js"></script>
布局
<body>
<div id="container">
</div>
<div>
<button id="open">开启测距</button>
<button id="close">关闭测距</button>
</div>
</body>
js 代码
<script type="text/javascript">
let open = document.querySelector('#open');
let close = document.querySelector('#close');
// 百度地图API功能
var map = new BMap.Map("container");
map.centerAndZoom(new BMap.Point(116.404, 39.915), 11);
var myDistanceToolObject = new BMapLib.DistanceTool(map, { lineStroke: 2 });
open.onclick = function() {
myDistanceToolObject.open(); // 开启
}
close.onclick = function () {
myDistanceToolObject.close(); // 关闭
}
</script>
实际演示