AMap.MouseTool close方法无法触发draw事件并获取坐标的解决方法
使用 AMap.MouseTool 时,调用 close 方法后,无法触发 draw 事件并获取坐标,这是因为 close 方法没有触发任何绘制事件。为了解决这个问题,可以在调用 close 方法之前,手动调用一次鼠标点击事件,触发一次 draw 事件,并拿到坐标。
代码示例:
var map = new AMap.Map('mapContainer');
var mouseTool = new AMap.MouseTool(map);
// 监听draw事件
mouseTool.on('draw', function(event) {
// 获取绘制的坐标
var path = event.obj.getPath();
console.log(path);
});
// 手动触发鼠标点击事件
map.on('click', function(event) {
mouseTool._onMapClick(event);
});
// 关闭MouseTool时调用
mouseTool.close();
在调用 close 方法之前,先在地图上手动点击一下,就能触发 draw 事件并拿到坐标了。
原文地址: https://www.cveoy.top/t/topic/mA5n 著作权归作者所有。请勿转载和采集!