有人知道如何将标记或折线捕捉到现有折线的坐标中吗?
我正在寻找googlemaps引擎精简版中的行为:https://mapsengine.google.com
如果您在那里选择折线或标记并尝试编辑另一个折线坐标(使用ctrl或shift),它将捕捉到标记或折线坐标
答案 0 :(得分:0)
据我所知,没有简单的方法可以做到这一点。折线只有你最初传递它们的位置(latLng对象),就是它。
因此,考虑到这一点,您可以采取两种方法:
使用这种方法,您必须绘制一个非常细的多边形,足够薄,看起来像一条线。
通过这种方法,您可以使用containsLocation()
方法轻松检查标记是否在多边形内部,如果不是,则将其新位置设置为多边形内部。
缺点是您的Polygon需要非常非常薄,并且您需要为线条设置宽度。如果宽度太大,拖动看起来会不准确,如果它太小,你可能会错过它。
使用这种方法,您必须向折线添加多个点,然后在每次熄灭时将标记移动到其中一个点。
这种方式无需创建宽度来计算线条,但您需要自动计算数十个(如果不是数百个)额外点,然后将它们添加到折线。
两种解决方案都有效,两者都有利弊。最后,它几乎围绕你更喜欢哪种毒药老话。
除了理论之外,我确实找到了good example for the Polylines strategy(评论为@geocodezip,感谢评论为@BradBarrow。)