由于PolyEditor
没有相关编辑多边形过程中获取编辑点的索引的api,所以用了以下思路:
编辑过程中获取鼠标的坐标的x
和y
,根据高德地图提供的containerToLngLat
转换成地图实际坐标,
多边形编辑过程中会触发多边形的change
事件,在该事件中监听获取实时多边形的path
,
循环path
,根据AMap.GeometryUtil.distance
获取到鼠标地图坐标和多边形每个点坐标的距离,
从而获取到最小的一个距离,即当前编辑的点。
思路应该是对的吧,但是获取到的索引有时对有时是错的,如果快速移动,获取到的索引确实正确的,如下图所示:
示例代码:https://codepen.io/anon/pen/W...
有没有熟悉高德地图的解答下,感激。
换了一种思路解决了,既然是拖动多边形的某点点,其他的点的坐标肯定不变的,只有被拖动的点的坐标的变的,做下判断就知道是哪个点了。

Demo:https://codepen.io/anon/pen/b...
预览: