如何重新绘制与用户绘制的多边形相同的多边形(超过4个顶点)?

我的项目涉及允许用户在Google Maps上绘制多边形,甚至在以后检索该形状。为此,我将多边形路径存储在数据库中,并在稍后查询它以再次为用户绘制它。当我有简单的多边形(例如“三角形”或“正方形”),而复杂的多边形却很少与绘制的多边形相同时,此方法就可以使用。

我通过以下方式获取路径的坐标: var polyArray = selectedShape.getPath().getarray(); 我将这些值存储在数据库中。

要绘制,我使用的是google.maps.Polygon():

var redrawnPolygon = new google.maps.Polygon({
        paths: polygonCoords
      });

如您所见,多边形的图像与绘制的图像不同,这是有道理的,因为由getPath()存储的顶点可以产生多个多边形。如何确定原始多边形是绘制的? getPath()不应该自动添加更多顶点吗?我应该手动做吗?怎么样?

由用户绘制:

如何重新绘制与用户绘制的多边形相同的多边形(超过4个顶点)?

使用google.maps.Polygon()重绘

如何重新绘制与用户绘制的多边形相同的多边形(超过4个顶点)?

zl69301 回答:如何重新绘制与用户绘制的多边形相同的多边形(超过4个顶点)?

正如@geocodezip在上面的注释中指出的那样,问题的根本原因是我没有在数据库中保留坐标的顺序。

以相同顺序保存和获取坐标可解决此问题,现在我可以重新创建与绘制的多边形相同的多边形。

本文链接:https://www.f2er.com/3148731.html

大家都在问