我的项目涉及允许用户在Google Maps上绘制多边形,甚至在以后检索该形状。为此,我将多边形路径存储在数据库中,并在稍后查询它以再次为用户绘制它。当我有简单的多边形(例如“三角形”或“正方形”),而复杂的多边形却很少与绘制的多边形相同时,此方法就可以使用。
我通过以下方式获取路径的坐标:
var polyArray = selectedShape.getPath().getarray();
我将这些值存储在数据库中。
要绘制,我使用的是google.maps.Polygon():
var redrawnPolygon = new google.maps.Polygon({
paths: polygonCoords
});
如您所见,多边形的图像与绘制的图像不同,这是有道理的,因为由getPath()存储的顶点可以产生多个多边形。如何确定原始多边形是绘制的? getPath()不应该自动添加更多顶点吗?我应该手动做吗?怎么样?