【发布时间】:2012-04-18 06:55:05
【问题描述】:
好的,这是我的问题,我会放一张图片来说明它更容易。
我需要用户绘制一些多边形,代表覆盖区域。
多边形需要有固定数量的点(顶点),因为它稍后会进入处理算法,如果多边形可以包含很多点,那就真的很慢了。
无论如何,在我的示例中,我们坚持使用六边形(6 分)。
用户需要能够拖动多边形并对其进行修改,但不能更改点数。
我尝试为多边形设置editable: true 选项,它工作正常,但它给了我图片上显示的情况。它为每个点创建一个句柄,并在每个点之间的中间创建另一个句柄(半透明)。现在,如果用户移动该半透明点,它将向多边形添加另一个点(顶点),并在新创建的线的中间添加额外的两个手柄。这给了我们一个 7 点多边形。
最好的选择是移除那些半透明的手柄,这样用户就只能拖动多边形点,这样他就不会影响点的总数。
我可以使用谷歌地图可编辑选项来实现这一点吗?
【问题讨论】:
-
你能提供一个jsfiddle的例子吗?
-
我无法为您提供一个工作示例,因为我正在使用 gmap 的外部库(不是很重要,它只是一个包装器,gmap3.net)。这是代码jsfiddle.net/m4uvN/1。在你问为什么 setTimeout() :) 之前,回调不会在正确的时刻返回。它在地图中渲染之前返回多边形,所以我必须稍微延迟删除
标签: javascript google-maps geocoding