注意:在我的情况下, PolyLine是两个标记之间的单行。
问题:只想在MapClick上删除polyLine。
如您所知,无法向 PolyLine 添加点击监听器。所以我必须使用MapClick
,但我想在点击时删除PolyLine(简单线)。
Marker之间有许多PolyLine。我只是想删除我点击的PolyLine
。
我的想法。
我的想法都存在一些问题。喜欢 。
point
(我的点击)不要躺在上面。该行不会删除。不知道如何解决这样的问题。给我一个idea
,并告诉我如何实施第二个方法。 (Point lie on a line between two markers
。)
或分享一些资源。
先谢谢..
答案 0 :(得分:0)
point lie on a line
的问题在于折线是由连接点组成的。您无法真正检查折线上是否有点,而不是比较您的点与折线上最近的点之间的距离。
要完成您的目标,您必须循环修改折线并检查哪一个具有最接近点击坐标的点 。找到折线后,您可以在折线上调用setVisible(false);
。
In this answer我解释了如何循环折线并检查距离。我还注意到,您可以通过循环遍历所有折线来找到最近的折线。
这可以通过使用算法检查点是远还是朝点来进一步增强。如果离开 - 那么你continue
到下一个折线,如果朝 - 你继续循环。