Browse Source

切换到首页或镇域专题页,地图范围与当前镇域下拉框保持一致

Bella 2 years ago
parent
commit
6ebe3be34e
3 changed files with 13 additions and 2 deletions
  1. 1 1
      public/static/config/config.js
  2. 11 0
      src/components/map/MapHolder.vue
  3. 1 1
      src/views/HomeView.vue

+ 1 - 1
public/static/config/config.js

@@ -43,7 +43,7 @@ var treeIdMap = new Map();
 // key:疑点名称;data:stringify后的geojson数据
 var myLabelNameMap = new Map();
 
-// 各镇域中心区域位置
+// 存储各镇域中心区域位置
 var townLocationMap = new Map();
 townLocationMap.set("全部", [31.105589678244445, 121.72894516017521]);
 

+ 11 - 0
src/components/map/MapHolder.vue

@@ -502,6 +502,7 @@ export default {
       // 请求并渲染新的区域图层
       get("./static/json/simplified_pdgeojson.json", "").then((geoJson) => {
         // 存放所有的面数据
+        console.log(this.$store.state.homeSpecialTown, "当前镇");
         map2DViewer.groups["浦东新区_polygon"] = L.featureGroup();
         map2DViewer.groups["浦东新区_label"] = L.featureGroup();
         map2DViewer.groups["浦东新区_polygon"].addTo(map2DViewer.map);
@@ -527,6 +528,16 @@ export default {
         !map2DViewer.map.hasLayer(map2DViewer.groups["浦东新区_polygon"])
       ) {
         this.getJSonDataToStreet("", "");
+        // 切换到首页时需定位到当前图层
+        if (this.$store.state.homeSpecialTown === "全部") {
+          this.setView(
+            townLocationMap.get(this.$store.state.homeSpecialTown),
+            10
+          );
+        } else {
+          let polygon = townPolygonMap.get(this.$store.state.homeSpecialTown);
+          map2DViewer.map.fitBounds(polygon.getBounds());
+        }
       } else if (
         !(this.$ifMenu("1", "") || this.$ifMenu("2", "")) &&
         map2DViewer.map.hasLayer(map2DViewer.groups["浦东新区_polygon"])

+ 1 - 1
src/views/HomeView.vue

@@ -14,7 +14,7 @@
     </div>
 
     <!-- 镇域专题 -->
-    <div id="TownContainer" v-show="$ifMenu('2', '5')">
+    <div id="TownContainer" v-if="$ifMenu('2', '5')">
       <Legend
         id="TownContainer_bottomLegend"
         :legendData="{