高德地图2.0Api多边形吸附获取坐标/删除多边形 搜索多边形区域POI数据
搜索和多边形插件
AMap.PolygonEditor
AMap.PlaceSearch
let polyEditor = new AMap.PolygonEditor(map);
this.placeBoundSearch = new AMap.PlaceSearch({
pageSize: 9999,
pageIndex: 1,
city: "上海",
citylimit: true,
map: map,
panel: "panel",
autoFitView: false,
});
let polygons = [];
polyEditor.on("add", function (data) {
let polygon = data.target;
polygons.push(polygon)
polyEditor.addAdsorbPolygons(polygon);
polygon.on("dblclick", () => {
polyEditor.setTarget(polygon);
polyEditor.open();
});
});
function createPolygon() {
polyEditor.close();
polyEditor.setTarget();
polyEditor.open();
}
let createBtn = document.querySelector(".createBtn");
let getPathBtn = document.querySelector(".getPathBtn");
let clearBtn = document.querySelector(".clearBtn");
createBtn.onclick = createPolygon;
editBtn.onclick = () => {
polyEditor.open();
};
let polygonBound;
getPathBtn.onclick = () => {
polyEditor.close();
if (polyEditor.getTarget()) {
let path = [];
path = polyEditor.getTarget()._opts.path;
polygonBound = new AMap.Polygon({
path,
strokeColor: "#FF33FF",
strokeOpacity: 0.2,
strokeWeight: 3,
fillColor: "#1791fc",
fillOpacity: 0.35,
});
this.placeBoundSearch.searchInBounds("",polygonBound, (status, result) => {
if (result.info === "OK") {
let pois = result.poiList.pois || [];
console.log(pois);
}
});
}
};
clearBtn.onclick = () => {
for (let i = 0; i < polygons.length; i++) {
polygons[i].remove();
}
polygons = [];
};