我使用的是gmaps.js,我可以使用以下代码绘制多边形
var paths = [];
function drawPoly(p1, p2) {
paths.push([p1, p2]);
console.log(paths);
oldPolygon = null;
map.drawPolygon({
paths: paths,
strokeColor: '#432070',
strokeOpacity: 1,
strokeWeight: 3,
fillColor: '#432070',
fillOpacity: 0.6
});
}但我的问题是,它们是相互重叠的,

我的问题是如何删除重叠多边形(旧多边形),这样剩下的多边形将是最后生成的多边形。我希望我解释得很清楚。谢谢。
发布于 2018-03-30 16:36:03
解决我的问题的方法是使用map.removePolygon方法:
var paths = [];
var oldPolygon;
function drawPoly(p1, p2) {
paths.push([p1, p2]);
console.log(paths);
polygons = map.drawPolygon({
paths: paths,
strokeColor: '#432070',
strokeOpacity: 1,
strokeWeight: 3,
fillColor: '#432070',
fillOpacity: 0.6
});
// remove old one if exists.
if(oldPolygon != null){
map.removePolygon(oldPolygon);
}
// ... and save a reference to the new polygon for next time around.
oldPolygon = polygons;
}发布于 2018-03-30 14:06:40
如果您真的想使用多边形或多边形,您可以使用:
.setMap(Null)您可以在这里找到更多关于这一点的信息:https://developers.google.com/maps/documentation/javascript/examples/polyline-remove
但是我认为你可能想使用可编辑的多边形:https://jsfiddle.net/3L140cg3/16/
https://stackoverflow.com/questions/49575444
复制相似问题