| | |
| | | var activeDistrict = undefined |
| | | export default { |
| | | // 绘制区县边界 |
| | | drawDistrict(districtName, isNew) { |
| | | drawDistrictMask(districtName, isNew) { |
| | | if (!districtName) return |
| | | onMapMounted(() => { |
| | | if (!isNew && districtPolygonMap.has(districtName)) { |
| | |
| | | } |
| | | }) |
| | | }, |
| | | // 绘制区县边界 |
| | | drawDistrict(districtName, isNew) { |
| | | if (!districtName) return |
| | | onMapMounted(() => { |
| | | if (!isNew && districtPolygonMap.has(districtName)) { |
| | | const districtPolygon = districtPolygonMap.get(districtName) |
| | | map.add(districtPolygon) |
| | | map.setFitView(districtPolygon) |
| | | activeDistrict = districtPolygon |
| | | } else { |
| | | var district = new AMap.DistrictSearch({ |
| | | extensions: 'all', //返回行政区边界坐标等具体信息 |
| | | level: 'district', //设置查询行政区级别为区 |
| | | }) |
| | | district.search(districtName, function (status, result) { |
| | | var bounds = result.districtList[0].boundaries //获取边界信息 |
| | | if (bounds) { |
| | | for (var i = 0; i < bounds.length; i++) { |
| | | //生成行政区划 polygon |
| | | const districtPolygon = new AMap.Polygon({ |
| | | map: map, //显示该覆盖物的地图对象 |
| | | strokeWeight: 1, //轮廓线宽度 |
| | | path: bounds[i], //多边形轮廓线的节点坐标数组 |
| | | fillOpacity: 0.4, //多边形填充透明度 |
| | | fillColor: '#0077ff', |
| | | strokeColor: '#CC66CC', //线条颜色 |
| | | }) |
| | | |
| | | districtPolygonMap.set(districtName, districtPolygon) |
| | | activeDistrict = districtPolygon |
| | | map.setFitView(districtPolygon, true) |
| | | } |
| | | } |
| | | }) |
| | | } |
| | | }) |
| | | }, |
| | | removeDistrict() { |
| | | onMapMounted(() => { |
| | | if (activeDistrict) { |