在 AMap.MouseTool 中,可以通过以下方法实现绘制多边形主动结束并拿到绘制的坐标:

  1. 在初始化 AMap.MouseTool 时,设置 drawMode 为 'polygon',表示绘制多边形。
var mouseTool = new AMap.MouseTool(map);
mouseTool.polygon();
  1. 监听 AMap.MouseTool 的 draw 事件,在绘制完成后获取多边形的所有坐标点。
var polygon = null;
mouseTool.on('draw', function(e) {
  polygon = e.obj;
  var path = polygon.getPath(); // 获取多边形的所有坐标点
  console.log(path);
});
  1. 在需要主动结束绘制多边形的时候,调用 AMap.MouseTool 的 close 方法,即可结束绘制。
mouseTool.close(); // 结束绘制

完整代码示例:

var map = new AMap.Map('container', {
  zoom: 10,
  center: [116.39, 39.9]
});

var mouseTool = new AMap.MouseTool(map);
mouseTool.polygon();

var polygon = null;
mouseTool.on('draw', function(e) {
  polygon = e.obj;
  var path = polygon.getPath(); // 获取多边形的所有坐标点
  console.log(path);
});

// 主动结束绘制
setTimeout(function() {
  mouseTool.close();
}, 5000);

原文地址: https://www.cveoy.top/t/topic/mAUS 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录