百度地图工具DrawingManager完成后获取坐标

工具栏样式

var geoc = new BMap.Geocoder();
var styleOptions = {
strokeColor: "red", //边线颜色。
fillColor: "", //填充颜色。当参数为空时,圆形将没有填充效果。
strokeWeight: 3, //边的宽度,以像素为单位。
strokeOpacity: 0.8, //边线透明度,取值范围0 - 1。
fillOpacity: 0.6, //填充的透明度,取值范围0 - 1。
strokeStyle: 'solid' //边线的样式,solid或dashed。
}

创建工具栏

var drawingManager = new BMapLib.DrawingManager(map, {
isOpen: false, //是否开启绘制模式
enableDrawingTool: true, //是否显示工具栏
drawingToolOptions: {
anchor: BMAP_ANCHOR_BOTTOM_RIGHT, //位置
offset: new BMap.Size(-25, 15), //偏离值
scale: 0.7,
drawingModes: [

BMAP_DRAWING_MARKER,//marker
BMAP_DRAWING_POLYLINE,//线
BMAP_DRAWING_POLYGON//多边形
]
},
enableCalculate: true,
polylineOptions: styleOptions, //线的样式
polygonOptions: styleOptions //多边形的样式
});

添加监听事件
drawingManager.addEventListener('polylinecomplete', polylinecomplete);

//e.getPath获取坐标。length共有多少坐标,用for循环遍历坐标

function polylinecomplete(e,overlay) {
console.log(e.getPath().length);
var points_poly=[];
for(var i=0;i<e.getPath().length;i++){
points_poly.push({"lng":e.getPath()[i].lng,"lat":e.getPath()[i].lat});
}
console.log(JSON.stringify(points_poly))
}

posted @   绯颜旧雨  阅读(3162)  评论(1编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示