餐饮油烟智能监测与监管一体化平台
feiyu02
2026-03-20 20cdb83586daabfb15fc056c4c97eb8e7ccaf928
src/utils/map/districtsearch.js
@@ -6,7 +6,7 @@
var activeDistrict = undefined
export default {
  // 绘制区县边界
  drawDistrict(districtName, isNew) {
  drawDistrictMask(districtName, isNew) {
    if (!districtName) return
    onMapMounted(() => {
      if (!isNew && districtPolygonMap.has(districtName)) {
@@ -49,6 +49,43 @@
      }
    })
  },
  // 绘制区县边界
  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) {