From 9bb4d71dc57eee0314c34b536e1faf3b3c61b217 Mon Sep 17 00:00:00 2001
From: czt <czt18638530771@163.com>
Date: 星期五, 12 十二月 2025 10:55:25 +0800
Subject: [PATCH] 大屏提交2:GIS地图修改

---
 fzzy-igdss-web/src/main/resources/static/group/gis-map.js |  106 +++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 103 insertions(+), 3 deletions(-)

diff --git a/fzzy-igdss-web/src/main/resources/static/group/gis-map.js b/fzzy-igdss-web/src/main/resources/static/group/gis-map.js
index ca1335d..7b7d365 100644
--- a/fzzy-igdss-web/src/main/resources/static/group/gis-map.js
+++ b/fzzy-igdss-web/src/main/resources/static/group/gis-map.js
@@ -13,6 +13,35 @@
     return hex;
 }
 
+//---------------------------------------------------------------------------------
+//just some colors
+// var colors = [
+//     "#3366cc", "#dc3912", "#ff9900", "#109618", "#990099", "#0099c6", "#dd4477", "#66aa00",
+//     "#b82e2e", "#316395", "#994499", "#22aa99", "#aaaa11", "#6633cc", "#e67300", "#8b0707",
+//     "#651067", "#329262", "#5574a6", "#3b3eac"
+// ];
+// var colors = [
+//     "#3366cc",
+//     "#191970",
+//     "#000080",
+//     "#6495ED",
+//     "#483D8B",
+//     "#6A5ACD",
+//     "#0000CD",
+//     "#7B68EE",
+//     "#4169E1",
+//     "#8470FF",
+//     "#0000FF",
+//     "#1E90FF",
+//     "#00BFFF",
+//     "#87CEEB",
+//     "#87CEFA",
+//     "#4682B4",
+//     "#B0C4DE",
+//     "#ADD8E6",
+//     "#B0E0E6",
+//     "#3b3eac"
+// ];
 // 棰滆壊杈呭姪鏂规硶
 var colors = [];
 var num = 0;
@@ -27,6 +56,7 @@
         eventSupport: true, //鎵撳紑浜嬩欢鏀寔
         map: map
     });
+    console.log(districtExplorer);
     //鐩戝惉feature鐨刪over浜嬩欢
     districtExplorer.on('featureMouseout featureMouseover', function(e, feature) {
         toggleHoverFeature(feature, e.type === 'featureMouseover',
@@ -41,6 +71,7 @@
 
 //feature琚偣鍑�
     districtExplorer.on('featureClick', function(e, feature) {
+
         var props = feature.properties;
         //濡傛灉瀛樺湪瀛愯妭鐐�
         // if (props.childrenNum > 0) {
@@ -52,15 +83,18 @@
 
 //澶栭儴鍖哄煙琚偣鍑�
     districtExplorer.on('outsideClick', function(e) {
+
         districtExplorer.locatePosition(e.originalEvent.lnglat, function(error, routeFeatures) {
+
             if (routeFeatures && routeFeatures.length > 1) {
                 //鍒囨崲鍒扮渷绾у尯鍩�
                // switch2AreaNode(routeFeatures[1].properties.adcode);
                 renderAreas(routeFeatures[1].properties.adcode);
             } else {
                 //鍒囨崲鍒板叏鍥�
-                switch2AreaNode(610000);
+                switch2AreaNode(650000);
             }
+
         }, {
             levelLimit: 2
         });
@@ -69,8 +103,10 @@
 
 //褰撳墠鑱氱劍鐨勫尯鍩�
 var currentAreaNode = null;
+
 //榧犳爣hover鎻愮ず鍐呭
 var $tipMarkerContent = $('<div class="tipMarker top" style="color: #1E9CFF;font-size: 18px;weight:100px;"></div>');
+
 var tipMarker = new AMap.Marker({
     content: $tipMarkerContent.get(0),
     offset: new AMap.Pixel(0, 0),
@@ -79,12 +115,17 @@
 
 //鏍规嵁Hover鐘舵�佽缃浉鍏虫牱寮�
 function toggleHoverFeature(feature, isHover, position) {
+
     tipMarker.setMap(isHover ? map : null);
+
     if (!feature) {
         return;
     }
+
     var props = feature.properties;
+
     if (isHover) {
+
         //鏇存柊鎻愮ず鍐呭
         $tipMarkerContent.html("銆�銆�銆�" + props.name);
         //鏇存柊浣嶇疆
@@ -96,6 +137,7 @@
     //鏇存柊鐩稿叧澶氳竟褰㈢殑鏍峰紡
     var polys = districtExplorer.findFeaturePolygonsByAdcode(props.adcode);
     for (var i = 0, len = polys.length; i < len; i++) {
+
         polys[i].setOptions({
             fillOpacity: isHover ? 0.5 : 0.35
         });
@@ -106,34 +148,47 @@
 
 //缁樺埗鍖哄煙闈㈡澘鐨勮妭鐐�
 function renderAreaPanelNode(ele, props, color) {
+
     var $box = $('<li/>').addClass('lv_' + props.level);
+
     var $h2 = $('<h2/>').addClass('lv_' + props.level).attr({
         'data-adcode': props.adcode,
         'data-level': props.level,
         'data-children-num': props.childrenNum || void(0),
         'data-center': props.center.join(',')
     }).html(props.name).appendTo($box);
+
     if (color) {
         $h2.css('borderColor', color);
     }
+
     //濡傛灉瀛樺湪瀛愯妭鐐�
     if (props.childrenNum > 0) {
+
         //鏄剧ず闅愯棌
         $('<div class="showHideBtn"></div>').appendTo($box);
+
         //瀛愬尯鍩熷垪琛�
         $('<ul/>').addClass('sublist lv_' + props.level).appendTo($box);
+
         $('<div class="clear"></div>').appendTo($box);
+
         if (props.level !== 'country') {
             $box.addClass('hide-sub');
         }
     }
+
     $box.appendTo(ele);
 }
 
+
 //濉厖鏌愪釜鑺傜偣鐨勫瓙鍖哄煙鍒楄〃
 function renderAreaPanel(areaNode) {
+
     var props = areaNode.getProps();
+
     var $subBox = $('#area-tree').find('h2[data-adcode="' + props.adcode + '"]').siblings('ul.sublist');
+
     if (!$subBox.length && props.childrenNum) {
         //鐖惰妭鐐逛笉瀛樺湪锛屽厛鍒涘缓
         renderAreaPanelNode($('#area-tree'), props);
@@ -142,8 +197,11 @@
     if ($subBox.attr('data-loaded') === 'rendered') {
         return;
     }
+
     $subBox.attr('data-loaded', 'rendered');
+
     var subFeatures = areaNode.getSubFeatures();
+
     //濉厖瀛愬尯鍩�
     for (var i = 0, len = subFeatures.length; i < len; i++) {
         renderAreaPanelNode($subBox, areaNode.getPropsOfFeature(subFeatures[i]), colors[i % colors.length]);
@@ -154,12 +212,16 @@
 function renderAreaPolygons(areaNode) {
     //鏇存柊鍦板浘瑙嗛噹
     map.setBounds(areaNode.getBounds(), null, null, true);
+
     //娓呴櫎宸叉湁鐨勭粯鍒跺唴瀹�
     districtExplorer.clearFeaturePolygons();
+
     //缁樺埗瀛愬尯鍩�
     districtExplorer.renderSubFeatures(areaNode, function(feature, i) {
+
         var fillColor = colors[i % colors.length];
         var strokeColor = colors[colors.length - 1 - i % colors.length];
+
         return {
             cursor: 'default',
             bubble: true,
@@ -170,6 +232,7 @@
             fillOpacity: 0.35, //濉厖閫忔槑搴�
         };
     });
+
     //缁樺埗鐖跺尯鍩�
     districtExplorer.renderParentFeature(areaNode, {
         cursor: 'default',
@@ -181,16 +244,24 @@
         fillOpacity: 0.35, //濉厖閫忔槑搴�
     });
 }
+
 //鍒囨崲鍖哄煙鍚庡埛鏂版樉绀哄唴瀹�
 function refreshAreaNode(areaNode) {
+
     districtExplorer.setHoverFeature(null);
+
     renderAreaPolygons(areaNode);
+
     //鏇存柊閫変腑鑺傜偣鐨刢lass
     var $nodeEles = $('#area-tree').find('h2');
+
     $nodeEles.removeClass('selected');
+
     var $selectedNode = $nodeEles.filter('h2[data-adcode=' + areaNode.getAdcode() + ']').addClass('selected');
+
     //灞曞紑涓嬪眰鑺傜偣
     $selectedNode.closest('li').removeClass('hide-sub');
+
     //鎶樺彔涓嬪眰鐨勫瓙鑺傜偣
     $selectedNode.siblings('ul.sublist').children().addClass('hide-sub');
 }
@@ -199,21 +270,31 @@
 function switch2AreaNode(adcode, callback) {
     //-----------------------鍒锋柊鏁版嵁
     county = adcode;
-    ajaxFoodNum();
+    // ajaxFoodNum();
+
+
     if (currentAreaNode && ('' + currentAreaNode.getAdcode() === '' + adcode)) {
         return;
     }
+
     loadAreaNode(adcode, function(error, areaNode) {
+
         if (error) {
+
             if (callback) {
                 callback(error);
             }
+
             return;
         }
+
         currentAreaNode = window.currentAreaNode = areaNode;
+
         //璁剧疆褰撳墠浣跨敤鐨勫畾浣嶇敤鑺傜偣
         districtExplorer.setAreaNodesForLocating([currentAreaNode]);
+
         refreshAreaNode(areaNode);
+
         if (callback) {
             callback(null, areaNode);
         }
@@ -222,15 +303,22 @@
 
 //鍔犺浇鍖哄煙
 function loadAreaNode(adcode, callback) {
+
     districtExplorer.loadAreaNode(adcode, function(error, areaNode) {
+
         if (error) {
+
             if (callback) {
                 callback(error);
             }
+
             console.error(error);
+
             return;
         }
+
         renderAreaPanel(areaNode);
+
         if (callback) {
             callback(null, areaNode);
         }
@@ -238,11 +326,14 @@
 }
 
 $('#area-tree').on('mouseenter mouseleave', 'h2[data-adcode]', function(e) {
+
     if (e.type === 'mouseleave') {
         districtExplorer.setHoverFeature(null);
         return;
     }
+
     var adcode = $(this).attr('data-adcode');
+
     districtExplorer.setHoverFeature(currentAreaNode.getSubFeatureByAdcode(adcode));
 });
 
@@ -253,19 +344,28 @@
 });
 
 $('#area-tree').on('click', '.showHideBtn', function() {
+
     var $li = $(this).closest('li');
+
     $li.toggleClass('hide-sub');
+
     if (!$li.hasClass('hide-sub')) {
+
         //瀛愯妭鐐瑰垪琛ㄨ灞曞紑
         var $subList = $li.children('ul.sublist');
+
         //灏氭湭鍔犺浇
         if (!$subList.attr('data-loaded')) {
+
             $subList.attr('data-loaded', 'loading');
+
             $li.addClass('loading');
+
             //鍔犺浇
             loadAreaNode($li.children('h2').attr('data-adcode'), function() {
+
                 $li.removeClass('loading');
             });
         }
     }
-});
\ No newline at end of file
+});

--
Gitblit v1.9.3