2013-01-07 56 views
3

我注意到当绘图管理器绘制多边形时,他们没有关闭(即没有坐标为第一个最后一个点)..我知道Google Maps API v3会自动关闭多边形,但Google Earth,Google静态地图API或任何其他软件,我尝试将数据导入到..多边形不封闭

我的问题是,我使用几何库保存编码的多边形..有没有什么办法将第一个点的副本推到最后在编码之前的叠加对象中?

我的工作是getPaths()。getArray()到我自己的数组,使复制,然后使用JavaScript库来编码哪些工作正常,但是是很多代码..只是想知道是否有一个更容易办法?

回答

4

像这样的东西应该添加多边形的第一个点到MVCArrry(未测试)的末尾。

myPoly.getPath().push(getPath().getAt(0)); 

(假设有一个路径一个简单的多边形,getPath返回第一个路径)

+0

完美!我不知道你可以这样.. .. :)结束了得到一个临时变量的路径,然后推动.. tmp = mapOverlays [i] .getPath()。getAt(0); \t \t \t mapOverlays [i] .getPath()。push(tmp); – Dennis

+0

@丹尼斯。 V3多边形违反行业标准(例如OGC)。注意事例(2)的行为与(1)和(3)不同。 (1)新绘制的V3多边形*缺少路径中的闭合顶点。 (2)未经编辑的导入的V2多边形(关闭顶点)*保留*关闭顶点的路径。 (3)如果编辑了导入的V2多边形*缺少*路径中的闭合顶点。 (4)我没有测试google.maps有关环形方向的标准:逆时针外环,顺时针内环。注意几何体/地理库具有纠正无效环定向的功能。 – subsci