社区使用哪些技术来编辑Bing地图上的多边形?
考虑一个矢量绘图程序,你可以选择一个边,添加一个点来平分一边,移动橡皮筋分割边的点等等。
用例是用户绘制了多边形,但他们想要调整它或在绘制后对其进行调整。
答案 0 :(得分:3)
据我所知,没有任何框架实现可以实现“开箱即用”的工作。但是,所有的构建块都在那里。您可以使用Polygon对象在地图上表示多边形。对于边,您可以使用折线。对于顶点,您可以使用图钉。所有这些形状都能够处理自己的鼠标事件,所以通过一些代码和一天的工作,您可以自己编写一个简单的多边形编辑器。
我们的想法是在您的多边形周围设置多个折线段(每个2个顶点)。这些折线段上会有mousedown事件处理程序,因此当用户点击一侧时,您知道他/她点击的位置。使用此信息,您现在可以更新多边形和周围的折线以包含此新顶点。
对于顶点,您可以使用图钉来显示它们。对于每个顶点,提供mousedown和mousemove事件。当用户点击顶点时,mousedown将会触发。这是用户想要移动该顶点的提示,因此您可以启用该顶点的mousemove处理程序以使其生效。当用户随后移动鼠标时,您将使用鼠标移动顶点,同时还更新多边形和相关折线(如果您是懒惰的,则更新所有折线)。
无论如何,这是我为我正在进行的项目所做的工作。它是一种屋顶测量工具,但您可以看到它具有许多您想要实现的功能,即用户可以通过移动顶点来编辑多边形。这是使用常规v7 API完成的,因此您应该能够实现类似的功能。