百度地图polyline的点击事件如何获取当前被点线的左右端
时间: 2024-05-07 19:23:07 浏览: 257
在百度地图API中,polyline的点击事件可以通过监听`click`事件来实现。当点击某条polyline时,可以通过`e`参数获取该polyline的相关信息。
具体来说,可以通过`e.target`获取被点击的polyline对象,进而通过`getBounds()`方法获取该polyline的边界信息,即左下角和右上角的经纬度坐标。示例代码如下:
```javascript
// 创建polyline对象
var polyline = new BMap.Polyline([
new BMap.Point(116.404, 39.915),
new BMap.Point(116.414, 39.915),
new BMap.Point(116.414, 39.925)
], {strokeColor:"blue", strokeWeight:6, strokeOpacity:0.5});
// 监听polyline的click事件
polyline.addEventListener("click", function(e) {
// 获取被点击的polyline对象
var target = e.target;
// 获取polyline的边界信息
var bounds = target.getBounds();
// 获取左下角和右上角的经纬度坐标
var sw = bounds.getSouthWest();
var ne = bounds.getNorthEast();
// 输出结果
console.log("左下角坐标:" + sw.lng + "," + sw.lat);
console.log("右上角坐标:" + ne.lng + "," + ne.lat);
});
// 将polyline添加到地图中
map.addOverlay(polyline);
```
需要注意的是,`getBounds()`方法返回的是一个`BMap.Bounds`对象,它包含了左下角和右上角的经纬度坐标信息。如果需要单独获取左下角或右上角的经纬度坐标,可以使用`getSouthWest()`和`getNorthEast()`方法来获取。
阅读全文