可以使用AMap.MouseTool的getLngLat方法获取鼠标点击的坐标,然后手动触发draw事件并将坐标传递给事件处理函数。

示例代码:

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

var mouseTool = new AMap.MouseTool(map);
mouseTool.on('draw', function(e) {
  console.log('draw:', e.obj.getPath());
});

// 手动触发draw事件
function triggerDrawEvent(lnglat) {
  var event = {
    obj: new AMap.Polygon({
      path: [lnglat],
      strokeColor: '#FF33FF',
      strokeWeight: 6,
      strokeOpacity: 0.2,
      fillColor: '#1791fc',
      fillOpacity: 0.4
    })
  };
  mouseTool.emit('draw', event);
}

// 点击地图时获取坐标并触发draw事件
map.on('click', function(e) {
  var lnglat = e.lnglat;
  console.log('click:', lnglat);
  triggerDrawEvent(lnglat);
});

在上述代码中,我们在地图上点击时获取坐标并调用triggerDrawEvent函数手动触发draw事件,并将坐标传递给事件处理函数。事件处理函数中可以获取绘制的图形对象,通过getPath方法获取所有点的坐标。

AMapMouseTool的close方法没有触发draw事件怎么触发并拿到坐标

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

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