From 989167473d34bde756a328fb49fb38d6180148d0 Mon Sep 17 00:00:00 2001 From: yms Date: Sat, 9 Nov 2024 16:15:45 +0800 Subject: [PATCH] =?UTF-8?q?feat=20=E6=9B=B4=E6=96=B0=E7=99=BE=E5=BA=A6?= =?UTF-8?q?=E5=9C=B0=E5=9B=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config/config.ts | 5 + package.json | 2 + src/assets/images/keyArea/avatar.png | Bin 0 -> 15445 bytes src/assets/images/keyArea/img.png | Bin 0 -> 86877 bytes src/components/MapView/index.less | 0 src/components/MapView/index.tsx | 22 + src/components/MapView/mapStyle.json | 1323 +++++++++++++++++ src/models/regionalIndex.ts | 44 + .../modals/DistrictIndex/StreetMap/index.less | 20 + .../modals/DistrictIndex/StreetMap/index.tsx | 91 +- .../modals/KeyArea/Map/index.less | 40 +- .../modals/KeyArea/Map/index.tsx | 98 +- .../modals/KeyAreaDetail/FilterTree/index.tsx | 2 +- .../Map/components/InfoWindow/index.less | 174 +++ .../Map/components/InfoWindow/index.tsx | 268 ++++ .../modals/KeyAreaDetail/Map/index.less | 5 + .../modals/KeyAreaDetail/Map/index.tsx | 83 +- .../components/DIstrictDetailBar/index.less | 1 + .../components/DIstrictDetailBar/index.tsx | 9 +- .../components/DistrictList/index.tsx | 60 +- .../components/Map/index.less | 17 + .../components/Map/index.tsx | 105 +- .../index.tsx | 81 +- src/utils/mapService.ts | 39 + yarn.lock | 18 + 25 files changed, 2363 insertions(+), 144 deletions(-) create mode 100644 src/assets/images/keyArea/avatar.png create mode 100644 src/assets/images/keyArea/img.png create mode 100644 src/components/MapView/index.less create mode 100644 src/components/MapView/index.tsx create mode 100644 src/components/MapView/mapStyle.json create mode 100644 src/models/regionalIndex.ts create mode 100644 src/pages/GlobalModalServices/modals/KeyAreaDetail/Map/components/InfoWindow/index.less create mode 100644 src/pages/GlobalModalServices/modals/KeyAreaDetail/Map/components/InfoWindow/index.tsx create mode 100644 src/utils/mapService.ts diff --git a/config/config.ts b/config/config.ts index e660b9e4..57b9f66a 100644 --- a/config/config.ts +++ b/config/config.ts @@ -30,6 +30,11 @@ export default defineConfig({ cssLoaderModules: { exportLocalsConvention: 'camelCase', }, + headScripts: [ + { + src: '//api.map.baidu.com/api?type=webgl&v=1.0&ak=U5XoaKW8QCNaROPQ96oh5a7NlVP9N4hW"', + }, + ], base: '/cd-comprehensive/', publicPath: '/cd-comprehensive/', hash: true, diff --git a/package.json b/package.json index 15364484..b7cf5742 100644 --- a/package.json +++ b/package.json @@ -13,6 +13,7 @@ "dependencies": { "@ant-design/icons": "^5.0.1", "@ant-design/pro-components": "^2.4.4", + "@types/bmapgl": "^0.0.7", "@types/crypto-js": "^4.2.2", "@types/lodash": "^4.17.12", "@umijs/max": "^4.3.1", @@ -27,6 +28,7 @@ "gsap": "^3.12.5", "js-base64": "^3.7.7", "lodash": "^4.17.21", + "react-bmapgl": "^0.2.28", "react-countup": "^6.5.3", "react-infinite-scroller": "^1.2.6" }, diff --git a/src/assets/images/keyArea/avatar.png b/src/assets/images/keyArea/avatar.png new file mode 100644 index 0000000000000000000000000000000000000000..f5f059ae7586cd3c66d27e8576f023e7b1ba516e GIT binary patch literal 15445 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 LNkvXXu0mjf+cWfb literal 0 HcmV?d00001 diff --git a/src/assets/images/keyArea/img.png b/src/assets/images/keyArea/img.png new file mode 100644 index 0000000000000000000000000000000000000000..c8230a6b4fa0a65a8d7451fa5143d9a7117f46b9 GIT binary patch literal 86877 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 z ztWZrUVzn2L)-|cupW2{>NbU;nQ@Z(iNOIXaR_7g;RzYA4ls0=mz}?*%l2W+F$TVc% zjrfN5TTzlRX{5jnBHBX1SD^sS?|t`s|LFGtd_I2v^M~L6?O*!#KPU9&w;Y|6=Vxd1oh%0}D93)tVeqyB(=ZGkXFGNe8%`hYGHpr)BDB}EFqzcs z@6Xxa-(@iuS6x9^v-CBLhbx;&rh7DAzW6C6H6o4oN>gzGiY5_aV!7OK{`#7;R~M{T zn~`$M{C*;8&@*FH&j&1DeoK1e#oqtfW|~aXZ8LSAt2S2foi58BdQ})JO#E6F@svXCp~b^3XkoaR9BF&38IU|5Fqx`m)CbZdHRyq7uPcTo$^jS zJN|Dw5oku5C--^s_l!s^Y?*`{2y!`i->cBDb;ix8fBrF`MjxKt`HbV^eRgIOF*tEj zhW6bC=VdH4OQvPeWP5PSvK*_SeAq=yQ!1;n&ECdXHk*!5KYPmUa!nBAZ+yOQd`8Xi z*{mhcW*FnfAf7W#QI;6&y+EA@thO|9KCI%3qtamOWFwL)2CK5-^z@KNZ#|?cs}aqw z>zb;rD9eJXlD|q{?^XA%OpsSgIUVZC->WD}o%=}RXU7QhaC>vd#lC)V;i-~HaN{pY zb6Xhz3)zCsdF{t7W-wZM+wpni?{Obr$a)l~Q+(UcnyY}s?Q+R_(=ll()fZS@Pq$qH y8%6#}5{KH)LkK^JL;C*r{^39QqhGx10RIn)j+(Qn>+OI50000>((props, ref) => { + const { children, ...reset } = props; + return ( + + {children} + + ); +}); + +export default MapView; diff --git a/src/components/MapView/mapStyle.json b/src/components/MapView/mapStyle.json new file mode 100644 index 00000000..ec4143ba --- /dev/null +++ b/src/components/MapView/mapStyle.json @@ -0,0 +1,1323 @@ +[ + { + "featureType": "land", + "elementType": "geometry", + "stylers": { + "color": "#1e588bff" + } + }, + { + "featureType": "water", + "elementType": "geometry", + "stylers": { + "color": "#3472c0ff", + "opacity": "3b" + } + }, + { + "featureType": "green", + "elementType": "geometry", + "stylers": { + "color": "#3bff65ff", + "opacity": "21" + } + }, + { + "featureType": "building", + "elementType": "geometry", + "stylers": { + "visibility": "on" + } + }, + { + "featureType": "manmade", + "elementType": "geometry", + "stylers": { + "color": "#414a64ff", + "opacity": "14" + } + }, + { + "featureType": "local", + "elementType": "geometry", + "stylers": { + "visibility": "on" + } + }, + { + "featureType": "subwaystation", + "elementType": "geometry", + "stylers": { + "color": "#113549ff" + } + }, + { + "featureType": "education", + "elementType": "geometry", + "stylers": { + "color": "#2ea1b9ff", + "opacity": "1a" + } + }, + { + "featureType": "road", + "elementType": "geometry.stroke", + "stylers": { + "color": "#1a3158ff", + "opacity": "14" + } + }, + { + "featureType": "railway", + "elementType": "geometry", + "stylers": { + "visibility": "off" + } + }, + { + "featureType": "poilabel", + "elementType": "labels", + "stylers": { + "visibility": "on" + } + }, + { + "featureType": "poilabel", + "elementType": "labels.icon", + "stylers": { + "visibility": "off" + } + }, + { + "featureType": "highway", + "elementType": "geometry.fill", + "stylers": { + "color": "#87b0d4ff", + "opacity": "ed" + } + }, + { + "featureType": "cityhighway", + "elementType": "geometry.fill", + "stylers": { + "color": "#87b0d4ff", + "opacity": "82" + } + }, + { + "featureType": "road", + "elementType": "labels", + "stylers": { + "visibility": "on" + } + }, + { + "featureType": "districtlabel", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#112031ff" + } + }, + { + "featureType": "districtlabel", + "elementType": "labels.text.fill", + "stylers": { + "color": "#a4c2e2ff" + } + }, + { + "featureType": "manmade", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#102031ff", + "opacity": "7a" + } + }, + { + "featureType": "manmade", + "elementType": "labels.text.fill", + "stylers": { + "color": "#8ec1e6ff", + "opacity": "7a" + } + }, + { + "featureType": "shopping", + "elementType": "geometry", + "stylers": { + "visibility": "on" + } + }, + { + "featureType": "road", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#112031ff", + "opacity": "ff", + "weight": "2" + } + }, + { + "featureType": "road", + "elementType": "labels.text.fill", + "stylers": { + "color": "#c2d9f1ff", + "opacity": "d9" + } + }, + { + "featureType": "entertainment", + "elementType": "geometry", + "stylers": { + "visibility": "on", + "color": "#ebaff8ff", + "opacity": "14" + } + }, + { + "featureType": "medical", + "elementType": "geometry", + "stylers": { + "color": "#ffa3b6ff", + "opacity": "1a" + } + }, + { + "featureType": "medical", + "elementType": "labels.text.fill", + "stylers": { + "color": "#ffcdcdff", + "opacity": "70" + } + }, + { + "featureType": "education", + "elementType": "labels.text.fill", + "stylers": { + "color": "#7ae8ffff", + "opacity": "70" + } + }, + { + "featureType": "water", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#102031ff" + } + }, + { + "featureType": "water", + "elementType": "labels.text.fill", + "stylers": { + "color": "#dfe8ffff" + } + }, + { + "featureType": "subwaylabel", + "elementType": "labels", + "stylers": { + "visibility": "off" + } + }, + { + "featureType": "subwaylabel", + "elementType": "labels.icon", + "stylers": { + "visibility": "off" + } + }, + { + "featureType": "highrailway", + "elementType": "geometry", + "stylers": { + "visibility": "off" + } + }, + { + "featureType": "local", + "elementType": "labels.icon", + "stylers": { + "visibility": "on" + } + }, + { + "featureType": "local", + "elementType": "labels", + "stylers": { + "visibility": "on" + } + }, + { + "featureType": "arterial", + "elementType": "labels.icon", + "stylers": { + "visibility": "on" + } + }, + { + "featureType": "arterial", + "elementType": "labels", + "stylers": { + "visibility": "on" + } + }, + { + "featureType": "cityhighway", + "elementType": "labels", + "stylers": { + "visibility": "on" + } + }, + { + "featureType": "provincialway", + "elementType": "labels", + "stylers": { + "visibility": "on" + } + }, + { + "featureType": "nationalway", + "elementType": "labels", + "stylers": { + "visibility": "on" + } + }, + { + "featureType": "tertiaryway", + "elementType": "labels", + "stylers": { + "visibility": "on" + } + }, + { + "featureType": "tertiaryway", + "elementType": "labels.text", + "stylers": { + "fontsize": "30" + } + }, + { + "featureType": "nationalway", + "elementType": "labels.text", + "stylers": { + "fontsize": "30" + } + }, + { + "featureType": "provincialway", + "elementType": "labels.text", + "stylers": { + "fontsize": "30" + } + }, + { + "featureType": "cityhighway", + "elementType": "labels.text", + "stylers": { + "fontsize": "30" + } + }, + { + "featureType": "arterial", + "elementType": "labels.text", + "stylers": { + "fontsize": "30" + } + }, + { + "featureType": "fourlevelway", + "elementType": "labels.text", + "stylers": { + "fontsize": "30" + } + }, + { + "featureType": "road", + "elementType": "labels.text", + "stylers": { + "fontsize": "34" + } + }, + { + "featureType": "highway", + "elementType": "labels.text", + "stylers": { + "fontsize": "30" + } + }, + { + "featureType": "highwaysign", + "elementType": "labels.text.fill", + "stylers": { + "color": "#ffffffff" + } + }, + { + "featureType": "provincialwaysign", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#112031ff", + "opacity": "73", + "weight": "1" + } + }, + { + "featureType": "nationalwaysign", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#112031ff", + "opacity": "4f" + } + }, + { + "featureType": "nationalwaysign", + "elementType": "labels.text.fill", + "stylers": { + "color": "#fdfbfbff" + } + }, + { + "featureType": "provincialwaysign", + "elementType": "labels.text.fill", + "stylers": { + "color": "#fdfcfcff" + } + }, + { + "featureType": "subwaylabel", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#112031ff", + "opacity": "80" + } + }, + { + "featureType": "subwaylabel", + "elementType": "labels.text.fill", + "stylers": { + "color": "#ffffffff" + } + }, + { + "featureType": "tertiarywaysign", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#112031ff", + "opacity": "00" + } + }, + { + "featureType": "tertiarywaysign", + "elementType": "labels.text.fill", + "stylers": { + "color": "#112031ff" + } + }, + { + "featureType": "subway", + "elementType": "geometry.fill", + "stylers": { + "color": "#15be6cff", + "opacity": "80" + } + }, + { + "featureType": "transportation", + "elementType": "geometry", + "stylers": { + "visibility": "on", + "opacity": "14" + } + }, + { + "featureType": "nationalway", + "elementType": "geometry.fill", + "stylers": { + "color": "#87b0d4ff", + "opacity": "ff" + } + }, + { + "featureType": "provincialway", + "elementType": "geometry.fill", + "stylers": { + "color": "#87b0d4ff" + } + }, + { + "featureType": "subway", + "elementType": "labels.icon", + "stylers": { + "visibility": "off" + } + }, + { + "featureType": "subway", + "elementType": "labels", + "stylers": { + "visibility": "off" + } + }, + { + "featureType": "highwaysign", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#141616ff", + "opacity": "4f" + } + }, + { + "featureType": "vacationway", + "elementType": "geometry", + "stylers": { + "visibility": "off" + } + }, + { + "featureType": "scenicspotsway", + "elementType": "geometry", + "stylers": { + "visibility": "on" + } + }, + { + "featureType": "local", + "elementType": "geometry.fill", + "stylers": { + "color": "#a39999ff", + "opacity": "1c" + } + }, + { + "featureType": "fourlevelway", + "elementType": "geometry", + "stylers": { + "visibility": "on" + } + }, + { + "featureType": "scenicspots", + "elementType": "geometry", + "stylers": { + "color": "#3bff65ff", + "opacity": "0f" + } + }, + { + "featureType": "scenicspots", + "elementType": "labels.text", + "stylers": { + "fontsize": "28" + } + }, + { + "featureType": "scenicspots", + "elementType": "labels.text.fill", + "stylers": { + "color": "#fffeeeff" + } + }, + { + "featureType": "scenicspots", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#14180aff", + "opacity": "4a" + } + }, + { + "featureType": "water", + "elementType": "labels.text", + "stylers": { + "fontsize": "26" + } + }, + { + "featureType": "manmade", + "elementType": "labels.text", + "stylers": { + "fontsize": "26" + } + }, + { + "featureType": "education", + "elementType": "labels.text", + "stylers": { + "fontsize": "26" + } + }, + { + "featureType": "HDLLCX", + "elementType": "geometry", + "stylers": { + "visibility": "on" + } + }, + { + "featureType": "HDLLDX", + "elementType": "geometry", + "stylers": { + "visibility": "on" + } + }, + { + "featureType": "HDLLSS", + "elementType": "geometry", + "stylers": { + "visibility": "on" + } + }, + { + "featureType": "trafficlight", + "elementType": "labels.icon", + "stylers": { + "visibility": "on" + } + }, + { + "featureType": "HDLLSX", + "elementType": "geometry", + "stylers": { + "visibility": "on" + } + }, + { + "featureType": "HDLLZSYX", + "elementType": "geometry", + "stylers": { + "visibility": "off" + } + }, + { + "featureType": "HDLLZXYS", + "elementType": "geometry", + "stylers": { + "visibility": "on" + } + }, + { + "featureType": "HDLLDS", + "elementType": "geometry", + "stylers": { + "visibility": "on" + } + }, + { + "featureType": "HDLLDD", + "elementType": "geometry", + "stylers": { + "visibility": "on" + } + }, + { + "featureType": "roadarrow", + "elementType": "labels.icon", + "stylers": { + "visibility": "on" + } + }, + { + "featureType": "HDLLDS", + "elementType": "geometry.fill", + "stylers": { + "color": "#722c2cff", + "opacity": "0f" + } + }, + { + "featureType": "HDTEXTBUS", + "elementType": "labels.text.fill", + "stylers": { + "color": "#f3efa9ff" + } + }, + { + "featureType": "footbridge", + "elementType": "geometry", + "stylers": { + "visibility": "on" + } + }, + { + "featureType": "highwaysign", + "elementType": "labels", + "stylers": { + "visibility": "off" + } + }, + { + "featureType": "highwaysign", + "elementType": "labels.icon", + "stylers": { + "visibility": "off" + } + }, + { + "featureType": "nationalwaysign", + "elementType": "labels", + "stylers": { + "visibility": "off" + } + }, + { + "featureType": "nationalwaysign", + "elementType": "labels.icon", + "stylers": { + "visibility": "off" + } + }, + { + "featureType": "provincialwaysign", + "elementType": "labels", + "stylers": { + "visibility": "off" + } + }, + { + "featureType": "provincialwaysign", + "elementType": "labels.icon", + "stylers": { + "visibility": "off" + } + }, + { + "featureType": "tertiarywaysign", + "elementType": "labels", + "stylers": { + "visibility": "off" + } + }, + { + "featureType": "tertiarywaysign", + "elementType": "labels.icon", + "stylers": { + "visibility": "off" + } + }, + { + "featureType": "local", + "stylers": { + "level": "18", + "curZoomRegionId": "0", + "curZoomRegion": "18-21" + } + }, + { + "featureType": "local", + "stylers": { + "level": "19", + "curZoomRegionId": "0", + "curZoomRegion": "18-21" + } + }, + { + "featureType": "local", + "stylers": { + "level": "20", + "curZoomRegionId": "0", + "curZoomRegion": "18-21" + } + }, + { + "featureType": "local", + "stylers": { + "level": "21", + "curZoomRegionId": "0", + "curZoomRegion": "18-21" + } + }, + { + "featureType": "local", + "stylers": { + "level": "16", + "curZoomRegionId": "1", + "curZoomRegion": "16-17" + } + }, + { + "featureType": "local", + "stylers": { + "level": "17", + "curZoomRegionId": "1", + "curZoomRegion": "16-17" + } + }, + { + "featureType": "local", + "elementType": "geometry", + "stylers": { + "visibility": "off", + "level": "16", + "curZoomRegionId": "1", + "curZoomRegion": "16-17" + } + }, + { + "featureType": "local", + "elementType": "geometry", + "stylers": { + "visibility": "off", + "level": "17", + "curZoomRegionId": "1", + "curZoomRegion": "16-17" + } + }, + { + "featureType": "local", + "elementType": "labels", + "stylers": { + "visibility": "off", + "level": "16", + "curZoomRegionId": "1", + "curZoomRegion": "16-17" + } + }, + { + "featureType": "local", + "elementType": "labels", + "stylers": { + "visibility": "off", + "level": "17", + "curZoomRegionId": "1", + "curZoomRegion": "16-17" + } + }, + { + "featureType": "local", + "elementType": "labels.icon", + "stylers": { + "visibility": "off", + "level": "16", + "curZoomRegionId": "1", + "curZoomRegion": "16-17" + } + }, + { + "featureType": "local", + "elementType": "labels.icon", + "stylers": { + "visibility": "off", + "level": "17", + "curZoomRegionId": "1", + "curZoomRegion": "16-17" + } + }, + { + "featureType": "local", + "elementType": "geometry.stroke", + "stylers": { + "opacity": "7a" + } + }, + { + "featureType": "subway", + "elementType": "geometry", + "stylers": { + "visibility": "off", + "weight": "6" + } + }, + { + "featureType": "road", + "elementType": "geometry.fill", + "stylers": { + "color": "#708fb6ff" + } + }, + { + "featureType": "education", + "elementType": "labels.text.stroke", + "stylers": { + "opacity": "75" + } + }, + { + "featureType": "medical", + "elementType": "labels.text.stroke", + "stylers": { + "opacity": "70" + } + }, + { + "featureType": "entertainmentlabel", + "elementType": "labels", + "stylers": { + "visibility": "on" + } + }, + { + "featureType": "estatelabel", + "elementType": "labels", + "stylers": { + "visibility": "on" + } + }, + { + "featureType": "businesstowerlabel", + "elementType": "labels", + "stylers": { + "visibility": "on" + } + }, + { + "featureType": "businesstowerlabel", + "elementType": "labels.icon", + "stylers": { + "visibility": "off" + } + }, + { + "featureType": "companylabel", + "elementType": "labels", + "stylers": { + "visibility": "on" + } + }, + { + "featureType": "restaurantlabel", + "elementType": "labels", + "stylers": { + "visibility": "on" + } + }, + { + "featureType": "restaurantlabel", + "elementType": "labels.icon", + "stylers": { + "visibility": "off" + } + }, + { + "featureType": "hotellabel", + "elementType": "labels", + "stylers": { + "visibility": "on" + } + }, + { + "featureType": "hotellabel", + "elementType": "labels.icon", + "stylers": { + "visibility": "off" + } + }, + { + "featureType": "shoppinglabel", + "elementType": "labels", + "stylers": { + "visibility": "on" + } + }, + { + "featureType": "shoppinglabel", + "elementType": "labels.icon", + "stylers": { + "visibility": "off" + } + }, + { + "featureType": "lifeservicelabel", + "elementType": "labels", + "stylers": { + "visibility": "on" + } + }, + { + "featureType": "lifeservicelabel", + "elementType": "labels.icon", + "stylers": { + "visibility": "off" + } + }, + { + "featureType": "carservicelabel", + "elementType": "labels", + "stylers": { + "visibility": "on" + } + }, + { + "featureType": "carservicelabel", + "elementType": "labels.icon", + "stylers": { + "visibility": "off" + } + }, + { + "featureType": "transportationlabel", + "elementType": "labels", + "stylers": { + "visibility": "on" + } + }, + { + "featureType": "transportationlabel", + "elementType": "labels.icon", + "stylers": { + "visibility": "off" + } + }, + { + "featureType": "trainstationlabel", + "elementType": "labels", + "stylers": { + "visibility": "off" + } + }, + { + "featureType": "trainstationlabel", + "elementType": "labels.icon", + "stylers": { + "visibility": "off" + } + }, + { + "featureType": "parklotinlabel", + "elementType": "labels", + "stylers": { + "visibility": "on" + } + }, + { + "featureType": "parklotinlabel", + "elementType": "labels.icon", + "stylers": { + "visibility": "off" + } + }, + { + "featureType": "parklotoutlabel", + "elementType": "labels", + "stylers": { + "visibility": "on" + } + }, + { + "featureType": "parklotoutlabel", + "elementType": "labels.icon", + "stylers": { + "visibility": "off" + } + }, + { + "featureType": "parklotlabel", + "elementType": "labels", + "stylers": { + "visibility": "on" + } + }, + { + "featureType": "parklotlabel", + "elementType": "labels.icon", + "stylers": { + "visibility": "off" + } + }, + { + "featureType": "subwaypoilabel", + "elementType": "labels", + "stylers": { + "visibility": "on" + } + }, + { + "featureType": "subwaypoilabel", + "elementType": "labels.icon", + "stylers": { + "visibility": "on" + } + }, + { + "featureType": "transportationother", + "elementType": "labels", + "stylers": { + "visibility": "on" + } + }, + { + "featureType": "transportationother", + "elementType": "labels.icon", + "stylers": { + "visibility": "off" + } + }, + { + "featureType": "financelabel", + "elementType": "labels", + "stylers": { + "visibility": "on" + } + }, + { + "featureType": "financelabel", + "elementType": "labels.icon", + "stylers": { + "visibility": "off" + } + }, + { + "featureType": "INTERNATIONALIZEICONICON", + "elementType": "labels", + "stylers": { + "visibility": "on" + } + }, + { + "featureType": "INTERNATIONALIZEICONICON", + "elementType": "labels.icon", + "stylers": { + "visibility": "off" + } + }, + { + "featureType": "airportlabel", + "elementType": "labels.text", + "stylers": { + "fontsize": "26" + } + }, + { + "featureType": "airportlabel", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#112031ff", + "opacity": "4f" + } + }, + { + "featureType": "airportlabel", + "elementType": "labels.text.fill", + "stylers": { + "color": "#f6f4f4ff" + } + }, + { + "featureType": "scenicspotslabel", + "elementType": "labels.text", + "stylers": { + "fontsize": "24" + } + }, + { + "featureType": "scenicspotslabel", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#112031ff", + "opacity": "5c" + } + }, + { + "featureType": "scenicspotslabel", + "elementType": "labels.text.fill", + "stylers": { + "color": "#fcfafaff", + "opacity": "7a" + } + }, + { + "featureType": "educationlabel", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#112031ff", + "opacity": "7a" + } + }, + { + "featureType": "educationlabel", + "elementType": "labels.text.fill", + "stylers": { + "color": "#fcfafaff", + "opacity": "7a" + } + }, + { + "featureType": "medicallabel", + "elementType": "labels", + "stylers": { + "visibility": "on" + } + }, + { + "featureType": "estatelabel", + "elementType": "labels.icon", + "stylers": { + "visibility": "off" + } + }, + { + "featureType": "companylabel", + "elementType": "labels.icon", + "stylers": { + "visibility": "off" + } + }, + { + "featureType": "governmentlabel", + "elementType": "labels.text.fill", + "stylers": { + "color": "#ffffffff", + "opacity": "73" + } + }, + { + "featureType": "governmentlabel", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#112031ff", + "opacity": "69" + } + }, + { + "featureType": "trainstationlabel", + "elementType": "labels.text.fill", + "stylers": { + "color": "#f8f1f1ff", + "opacity": "70" + } + }, + { + "featureType": "trainstationlabel", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#112031ff", + "opacity": "75" + } + }, + { + "featureType": "busstationlabel", + "elementType": "labels", + "stylers": { + "visibility": "on" + } + }, + { + "featureType": "busstationlabel", + "elementType": "labels.icon", + "stylers": { + "visibility": "off" + } + }, + { + "featureType": "medicallabel", + "elementType": "labels.icon", + "stylers": { + "visibility": "off" + } + }, + { + "featureType": "poilabel", + "elementType": "labels.text.fill", + "stylers": { + "color": "#f8f7f7ff", + "opacity": "75" + } + }, + { + "featureType": "poilabel", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#112031ff", + "opacity": "6e" + } + }, + { + "featureType": "subwaypoilabel", + "elementType": "labels.text.fill", + "stylers": { + "color": "#ffffffff", + "opacity": "c9" + } + }, + { + "featureType": "subwaypoilabel", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#112031ff", + "opacity": "85" + } + }, + { + "featureType": "building", + "elementType": "geometry.topfill", + "stylers": { + "color": "#3a4658ff" + } + }, + { + "featureType": "building", + "elementType": "geometry.sidefill", + "stylers": { + "color": "#1c2431ff" + } + }, + { + "featureType": "highway", + "elementType": "labels", + "stylers": { + "visibility": "on" + } + }, + { + "featureType": "tertiaryway", + "elementType": "geometry", + "stylers": { + "visibility": "on" + } + }, + { + "featureType": "entertainmentlabel", + "elementType": "labels.icon", + "stylers": { + "visibility": "off" + } + }, + { + "featureType": "educationlabel", + "elementType": "labels.icon", + "stylers": { + "visibility": "off" + } + }, + { + "featureType": "educationlabel", + "elementType": "labels", + "stylers": { + "visibility": "on" + } + }, + { + "featureType": "transportationother", + "elementType": "labels.text", + "stylers": { + "fontsize": "26" + } + }, + { + "featureType": "road", + "elementType": "geometry", + "stylers": { + "visibility": "on" + } + }, + { + "featureType": "scenicspotslabel", + "elementType": "labels.icon", + "stylers": { + "visibility": "off" + } + }, + { + "featureType": "airportlabel", + "elementType": "labels.icon", + "stylers": { + "visibility": "off" + } + }, + { + "featureType": "governmentlabel", + "elementType": "labels.icon", + "stylers": { + "visibility": "off" + } + } +] diff --git a/src/models/regionalIndex.ts b/src/models/regionalIndex.ts new file mode 100644 index 00000000..f56f27fd --- /dev/null +++ b/src/models/regionalIndex.ts @@ -0,0 +1,44 @@ +import services from '@/services'; +import { useState } from 'react'; + +/** + * 地区指数 + * @module TheOperationOfTheDistrictCityAndCounty + * @description 地区列表的管理 + * + */ +const useRegionalIndex = () => { + const [areaListDto, setAreaListDto] = useState< + DistrictAPI.RealtimeIndexDTO[] + >([]); + /** 当前选择的区市县 */ + const [selectDistrict, setSelectDistrict] = + useState(); + + /** 列表加载状态 */ + const [loading, setLoading] = useState(false); + + /** 获取地区列表 */ + const getAreaListDto = async () => { + setLoading(true); + + services.districtController + .getDistrictIndexList() + .then((res) => { + setAreaListDto(res.data); + }) + .finally(() => { + setLoading(false); + }); + }; + + return { + areaListDto, + loading, + getAreaListDto, + selectDistrict, + setSelectDistrict, + }; +}; + +export default useRegionalIndex; diff --git a/src/pages/GlobalModalServices/modals/DistrictIndex/StreetMap/index.less b/src/pages/GlobalModalServices/modals/DistrictIndex/StreetMap/index.less index 97125c30..b3de4d2d 100644 --- a/src/pages/GlobalModalServices/modals/DistrictIndex/StreetMap/index.less +++ b/src/pages/GlobalModalServices/modals/DistrictIndex/StreetMap/index.less @@ -11,6 +11,8 @@ .statusBar { position: absolute; top: 10px; + z-index: 100; + right: 10px; width: 625px; height: 39px; @@ -37,6 +39,8 @@ height: 40px; position: absolute; top: 30px; + z-index: 100; + left: 40px; } @@ -72,6 +76,7 @@ height: 605px; top: 90px; left: 0; + z-index: 100; border-radius: 0px 0 20px 0px; -webkit-backdrop-filter: blur(20px); backdrop-filter: blur(20px); @@ -191,3 +196,18 @@ height: 350px; overflow: auto; } + +.indexMarker { + width: 44px; + height: 44px; + box-sizing: border-box; + border: 3px solid rgba(255, 255, 255, 0.5); + box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.5); + background: var(--bg-color); + border-radius: 22px; + display: flex; + align-items: center; + justify-content: center; + + color: var(--color); +} diff --git a/src/pages/GlobalModalServices/modals/DistrictIndex/StreetMap/index.tsx b/src/pages/GlobalModalServices/modals/DistrictIndex/StreetMap/index.tsx index 1aeca7f9..ac668a30 100644 --- a/src/pages/GlobalModalServices/modals/DistrictIndex/StreetMap/index.tsx +++ b/src/pages/GlobalModalServices/modals/DistrictIndex/StreetMap/index.tsx @@ -1,9 +1,20 @@ +import MapView from '@/components/MapView'; +import BMapService from '@/utils/mapService'; +import { getColorByIndex } from '@/utils/ui'; import { DoubleLeftOutlined, DoubleRightOutlined } from '@ant-design/icons'; +import { useModel } from '@umijs/max'; import { useToggle } from 'ahooks'; import { ConfigProvider, Flex, Input, Popover, Space } from 'antd'; import classNames from 'classnames'; import gsap from 'gsap'; -import React, { useRef, useState } from 'react'; +import React, { + CSSProperties, + Fragment, + useEffect, + useRef, + useState, +} from 'react'; +import { CustomOverlay, Polygon } from 'react-bmapgl'; import PopoverCard from '../PopoverCard'; import styles from './index.less'; @@ -12,6 +23,10 @@ const StreetMap: React.FC = () => { const [state, { toggle }] = useToggle('left', 'right'); const listRef = useRef(null); const [expandStatus, setExpandStatus] = useState(true); + /** @description store */ + const { selectDistrict, areaListDto } = useModel('regionalIndex'); + + const MapRef = useRef(); const expandSlider = () => { if (expandStatus === true) { @@ -98,6 +113,28 @@ const StreetMap: React.FC = () => { ); }; + + /** + * @description 设置地图视野 + */ + const setViewport = () => { + const points = areaListDto + .map((item) => { + return BMapService.buildPoints(item.points); + }) + .flat(1); + + const map = MapRef.current?.map as BMapGL.Map; + if (map) { + map.setViewport(points); + } + }; + /** @description 移动视角到能显示全部覆盖物 */ + useEffect(() => { + setTimeout(() => { + setViewport(); + }, 500); + }, [MapRef.current, areaListDto]); const data = [ { name: '华阳街道', @@ -178,15 +215,49 @@ const StreetMap: React.FC = () => { }, ]; return ( -
+
+ + + {areaListDto.map((item, index) => { + return ( + + ); + })} + {areaListDto.map((item, index) => { + const point = BMapService.buildPoint( + Number(item.centerX), + Number(item.centerY), + ); + + return ( + +
+ {Number(item.qualitySign)} +
+
+ ); + })} +
+
img { @@ -26,6 +25,7 @@ position: absolute; right: 30px; bottom: 30px; + z-index: 1001; > div { width: 40px; @@ -48,6 +48,8 @@ top: 10px; right: 10px; width: 625px; + z-index: 1001; + height: 39px; border-radius: 10px; background: rgba(2, 106, 167, 0.9); @@ -68,6 +70,7 @@ .leftList { width: 352px; height: 605px; + z-index: 1001; border-radius: 0px 20px 20px 0px; -webkit-backdrop-filter: blur(20px); backdrop-filter: blur(20px); @@ -128,3 +131,36 @@ } } } + +.indexMarker { + display: flex; + flex-direction: column; + align-items: center; +} +.markerIcon { + width: 22px; + height: 22px; + box-sizing: border-box; + border: 4px solid rgb(87, 239, 88); + background: rgba(87, 239, 88, 0.1); + border-radius: 50%; +} + +.markerContent { + background-color: rgba(33, 50, 88, 0.9); + border-radius: 10px; + color: #fff; + font-weight: 700; + white-space: nowrap; + margin-bottom: 10px; + display: flex; + align-items: center; + padding: 4px 15px; + cursor: pointer; + + > span { + font-size: 28px; + font-family: D-DIN; + margin-left: 12px; + } +} diff --git a/src/pages/GlobalModalServices/modals/KeyArea/Map/index.tsx b/src/pages/GlobalModalServices/modals/KeyArea/Map/index.tsx index 79a13832..f5068d81 100644 --- a/src/pages/GlobalModalServices/modals/KeyArea/Map/index.tsx +++ b/src/pages/GlobalModalServices/modals/KeyArea/Map/index.tsx @@ -1,3 +1,4 @@ +import MapView from '@/components/MapView'; import { useGlobalModalServices } from '@/pages/GlobalModalServices/provider'; import { getColorByIndex } from '@/utils/ui'; import { @@ -7,13 +8,17 @@ import { UpCircleFilled, } from '@ant-design/icons'; import { Flex, Space } from 'antd'; -import React, { useRef, useState } from 'react'; +import React, { useEffect, useRef, useState } from 'react'; +import { CustomOverlay } from 'react-bmapgl'; import styles from './index.less'; const Map: React.FC = () => { const [expand, setExpand] = useState(); const ref = useRef(0); const { dispatch } = useGlobalModalServices(); + + const MapRef = useRef(); + const data = [ { name: '党政机关', @@ -86,8 +91,76 @@ const Map: React.FC = () => { ], }, ]; + + const addZoom = () => { + const map = MapRef.current?.map as BMapGL.Map; + map.centerAndZoom(map.getCenter(), map.getZoom() + 1); + }; + + const reduceZoom = () => { + const map = MapRef.current?.map as BMapGL.Map; + map.centerAndZoom(map.getCenter(), map.getZoom() - 1); + }; + + const p1 = new BMapGL.Point(103.74243115816007, 30.79721665183887); + + const p2 = new BMapGL.Point(104.48437948789275, 30.807638945537175); + + /** + * @description 设置地图视野 + */ + const setViewport = () => { + // const map = MapRef.current?.map as BMapGL.Map; + // if (map) { + // map.setViewport([p1, p2]); + // } + }; + + /** @description 移动视角到能显示全部覆盖物 */ + useEffect(() => { + setViewport(); + }, [MapRef.current]); return (
+ console.log(e)} + > + +
{ + e.stopPropagation(); + + dispatch.push('KeyAreaDetail', { + title: '市委市政府', + }); + }} + > +
+ 市委市政府89 +
+
+
+
+ +
+
+ 市城管委98.5 +
+
+
+
+
重点区域列表
@@ -143,24 +216,7 @@ const Map: React.FC = () => { })}
- { - dispatch.push('KeyAreaDetail', { - title: '市委市政府', - }); - }} - > - { - dispatch.push('KeyAreaDetail', { - title: '市城管委', - }); - }} - alt="" - > +
@@ -184,10 +240,10 @@ const Map: React.FC = () => {
- +
- +
diff --git a/src/pages/GlobalModalServices/modals/KeyAreaDetail/FilterTree/index.tsx b/src/pages/GlobalModalServices/modals/KeyAreaDetail/FilterTree/index.tsx index 7303bb25..cbff490a 100644 --- a/src/pages/GlobalModalServices/modals/KeyAreaDetail/FilterTree/index.tsx +++ b/src/pages/GlobalModalServices/modals/KeyAreaDetail/FilterTree/index.tsx @@ -132,7 +132,7 @@ const FilterTree: React.FC = () => { + />
监督员
diff --git a/src/pages/GlobalModalServices/modals/KeyAreaDetail/Map/components/InfoWindow/index.less b/src/pages/GlobalModalServices/modals/KeyAreaDetail/Map/components/InfoWindow/index.less new file mode 100644 index 00000000..7367966c --- /dev/null +++ b/src/pages/GlobalModalServices/modals/KeyAreaDetail/Map/components/InfoWindow/index.less @@ -0,0 +1,174 @@ +.window { + box-sizing: border-box; + border: 2px solid rgba(64, 146, 217, 0.95); + border-radius: 10px; + background: rgb(3, 85, 135); + width: 460px; + + &::after { + position: absolute; + content: ''; + /**三角形 */ + width: 0; + height: 0; + border-style: solid; + border-width: 10px 10px 0 10px; + border-color: rgb(3, 85, 135) transparent transparent transparent; + bottom: -7px; + left: 50%; + transform: translateX(-50%); + z-index: 999; + } + &::before { + position: absolute; + content: ''; + /**三角形 */ + width: 0; + height: 0; + border-style: solid; + border-width: 10px 10px 0 10px; + border-color: rgba(64, 146, 217, 0.95) transparent transparent transparent; + bottom: -10px; + left: 50%; + transform: translateX(-50%); + z-index: 998; + } +} + +.header { + white-space: nowrap; + color: rgb(255, 255, 255); + font-family: 'DingTalk JinBuTi'; + display: flex; + justify-content: space-between; + font-size: 24px; + font-weight: 400; + height: 54px; + padding: 0 24px; + align-items: center; + border-bottom: 2px solid rgb(62, 145, 215); +} + +.content { + padding: 20px; +} + +.btnGroup { + display: flex; + align-items: center; + justify-content: center; + margin-top: 16px; + gap: 12px; + + .btn { + border-radius: 25px; + background: linear-gradient( + 180deg, + rgb(28, 192, 255), + rgb(82, 148, 255) 100% + ); + padding: 0 16px; + height: 40px; + display: flex; + align-items: center; + justify-content: center; + } +} + +.type1Content { + position: relative; + + .qImg { + width: 100%; + height: 157px; + } + + .overTime { + position: absolute; + border-radius: 13.5px; + color: rgb(255, 167, 95); + background: rgba(0, 0, 0, 50%); + padding: 4px 12px; + right: 16px; + top: 120px; + } + + .toBeProcessed { + position: absolute; + border-radius: 13.5px; + color: rgb(102, 165, 255); + background: rgba(0, 0, 0, 50%); + padding: 4px 12px; + right: 16px; + top: 120px; + } +} + +.type3Content { + overflow: hidden; + + .avatar { + width: 90px; + height: 90px; + } + .avatarWrapper { + flex-direction: row; + display: flex; + gap: 12px; + } +} + +.type4Content { + overflow: hidden; + + .qImg { + width: 100%; + height: 157px; + } +} + +.todayQNum { + color: rgb(255, 255, 255); + + font-size: 18px; + font-weight: 400; + + > span { + background: linear-gradient(180deg, rgb(170, 255, 246), rgb(37, 187, 255)); + -webkit-background-clip: text; + -webkit-text-fill-color: transparent; + background-clip: text; + margin: 0 8px; + font-family: D-DIN; + font-size: 30px; + } +} + +.type1Content { + position: relative; + + .qImg { + width: 100%; + height: 157px; + } + + .overTime { + position: absolute; + border-radius: 13.5px; + color: rgb(255, 167, 95); + background: rgba(0, 0, 0, 50%); + padding: 4px 12px; + right: 16px; + top: 120px; + } + + .toBeProcessed { + position: absolute; + border-radius: 13.5px; + color: rgb(102, 165, 255); + background: rgba(0, 0, 0, 50%); + padding: 4px 12px; + right: 16px; + top: 120px; + } +} diff --git a/src/pages/GlobalModalServices/modals/KeyAreaDetail/Map/components/InfoWindow/index.tsx b/src/pages/GlobalModalServices/modals/KeyAreaDetail/Map/components/InfoWindow/index.tsx new file mode 100644 index 00000000..1b64b8f1 --- /dev/null +++ b/src/pages/GlobalModalServices/modals/KeyAreaDetail/Map/components/InfoWindow/index.tsx @@ -0,0 +1,268 @@ +import { CloseCircleOutlined } from '@ant-design/icons'; +import { ConfigProvider, Descriptions, Image } from 'antd'; +import React from 'react'; +import { CustomOverlay } from 'react-bmapgl'; +import styles from './index.less'; + +interface PropsType { + data: any; + map?: BMapGL.Map; + onClose?: () => void; +} + +const InfoWindow: React.FC = (props) => { + const { data, map, onClose } = props; + + const labelStyle = { + color: 'rgb(203, 237, 255)', + fontSize: 16, + }; + const renderContent = () => { + switch (data.type) { + case 1: + return ( +
+ +
已超期 105 天
+ + + 2024-05-28 10:20:20 + + + 锦江区牛市口街道办事... + + +
+
查看详情
+
+
+ ); + case 2: + return ( +
+ +
待派遣
+ + + 2024-05-28 10:20:20 + + + 锦江区牛市口街道办事... + + +
+
查看详情
+
+
+ ); + case 3: + return ( +
+
+ + + + XDSDWE15266 + + + 15887465232 + + +
+ + + 迪庆街道、崇阳街道、迪庆街道、崇阳街道、迪庆街道、崇阳街道、迪庆街道、崇阳街道、 + + +
+
查看详情
+
+
+ ); + case 4: + return ( +
+ + +
+
查看详情
+
+
+ ); + case 5: + return ( +
+ + SDFSDFS156 + AI固定视频 + + 垃圾分类 + + + XXXXXXXXXXXXXXXXXXXXXX + + +
+ 今日识别问题1208件 +
+
+
运行视频
+
发现问题
+
+
+ ); + case 6: + return ( +
+ + SDFSDFS156 + + 在线 + + AI车载 + 公交车 + +
+ 今日识别问题1208件 +
+
+
运行轨迹
+ +
运行视频
+
识别问题
+
运行详情
+
+
+ ); + case 7: + return ( +
+ +
待派遣
+ + + 2024-05-28 10:20:20 + + + 锦江区牛市口街道办事... + + +
+
查看详情
+
+
+ ); + default: + return
无内容
; + } + }; + + return ( + +
+
+ 道路交通设施 + +
+ +
{renderContent()}
+
+
+
+ ); +}; + +export default InfoWindow; diff --git a/src/pages/GlobalModalServices/modals/KeyAreaDetail/Map/index.less b/src/pages/GlobalModalServices/modals/KeyAreaDetail/Map/index.less index 61f8c16d..15bce0e7 100644 --- a/src/pages/GlobalModalServices/modals/KeyAreaDetail/Map/index.less +++ b/src/pages/GlobalModalServices/modals/KeyAreaDetail/Map/index.less @@ -10,11 +10,14 @@ position: absolute; left: 20px; top: 20px; + z-index: 1001; } } .onDutyWrap { position: absolute; + z-index: 1001; + width: 384px; height: 55px; border-radius: 27.5px 0px 0px 27.5px; @@ -48,6 +51,7 @@ position: absolute; width: 275px; height: 595px; + z-index: 1001; right: 0; top: 93px; padding: 20px; @@ -145,4 +149,5 @@ left: 50%; transform: translateX(-50%); bottom: 20px; + z-index: 1001; } diff --git a/src/pages/GlobalModalServices/modals/KeyAreaDetail/Map/index.tsx b/src/pages/GlobalModalServices/modals/KeyAreaDetail/Map/index.tsx index 5d92fdc0..c809fd97 100644 --- a/src/pages/GlobalModalServices/modals/KeyAreaDetail/Map/index.tsx +++ b/src/pages/GlobalModalServices/modals/KeyAreaDetail/Map/index.tsx @@ -1,16 +1,21 @@ import myVideo1 from '@/assets/media/movie.mp4'; +import MapView from '@/components/MapView'; +import BMapService from '@/utils/mapService'; import { DoubleLeftOutlined, DoubleRightOutlined } from '@ant-design/icons'; import { Flex, Space } from 'antd'; import gsap from 'gsap'; import React, { useRef, useState } from 'react'; +import { Marker } from 'react-bmapgl'; import FilterTree from '../FilterTree'; import LiveSlideshow from '../LiveSlideshow'; +import InfoWindow from './components/InfoWindow'; import styles from './index.less'; const Map: React.FC = () => { const [expandStatus, setExpandStatus] = useState(true); const listRef = useRef(null); - + const MapRef = useRef(); + const [selected, setSelected] = useState(); const expandSlider = () => { if (expandStatus === true) { setExpandStatus(false); @@ -24,8 +29,84 @@ const Map: React.FC = () => { }); } }; + const pList = [ + { + l: BMapService.buildPoint(103.87453593938976, 30.746739203687397), + type: 1, + }, + { + l: BMapService.buildPoint(103.9541617397942, 30.735316951515046), + type: 2, + }, + { + l: BMapService.buildPoint(103.87424848162657, 30.72240319350852), + type: 3, + }, + { + l: BMapService.buildPoint(103.92455359018533, 30.71569728382409), + type: 4, + }, + { + l: BMapService.buildPoint(103.87453593938976, 30.71569728382409), + type: 5, + }, + { + l: BMapService.buildPoint(104.0033170173002, 30.69681886124258), + type: 6, + }, + { + l: BMapService.buildPoint(103.89954476478755, 30.736558566919108), + type: 7, + }, + ]; + + const iconList = { + 1: require('@/assets/images/keyArea/risk1.png'), + 2: require('@/assets/images/keyArea/risk2.png'), + 3: require('@/assets/images/keyArea/risk3.png'), + 4: require('@/assets/images/keyArea/q3.png'), + 5: require('@/assets/images/keyArea/q4.png'), + 6: require('@/assets/images/keyArea/phone.png'), + 7: require('@/assets/images/keyArea/car.png'), + 8: require('@/assets/images/keyArea/people.png'), + }; + return (
+ console.log(e)} + style={{ width: '100%', height: '110%' }} + center={new BMapGL.Point(104.066349, 30.658842)} + > + {pList.map((item, index) => { + return ( + { + setSelected(item); + }} + position={item.l} + icon={ + new BMapGL.Icon( + iconList[item.type] as string, + new BMapGL.Size(30, 30), + ) + } + > + ); + })} + {selected && ( + { + setSelected(undefined); + }} + > + )} + +
diff --git a/src/pages/TheOperationOfTheDistrictCityAndCounty/components/DIstrictDetailBar/index.less b/src/pages/TheOperationOfTheDistrictCityAndCounty/components/DIstrictDetailBar/index.less index 3b361e48..4a6baadc 100644 --- a/src/pages/TheOperationOfTheDistrictCityAndCounty/components/DIstrictDetailBar/index.less +++ b/src/pages/TheOperationOfTheDistrictCityAndCounty/components/DIstrictDetailBar/index.less @@ -12,6 +12,7 @@ box-sizing: border-box; transform: translateX(-50%); display: flex; + z-index: 50; } .leftWrap { width: 50%; diff --git a/src/pages/TheOperationOfTheDistrictCityAndCounty/components/DIstrictDetailBar/index.tsx b/src/pages/TheOperationOfTheDistrictCityAndCounty/components/DIstrictDetailBar/index.tsx index 5ff2f7a7..afd7dbdb 100644 --- a/src/pages/TheOperationOfTheDistrictCityAndCounty/components/DIstrictDetailBar/index.tsx +++ b/src/pages/TheOperationOfTheDistrictCityAndCounty/components/DIstrictDetailBar/index.tsx @@ -8,11 +8,16 @@ import { } from '@ant-design/icons'; import { Col, Flex, Row, Space } from 'antd'; import React from 'react'; -import { useDistrictContext } from '../..'; + +import { useModel } from '@umijs/max'; import LineCharts from '../LineCharts'; import styles from './index.less'; const DistrictDetailBar: React.FC = () => { - const { selectDistrict } = useDistrictContext(); + /** @description store */ + const { selectDistrict } = useModel('regionalIndex', (store) => ({ + selectDistrict: store.selectDistrict!, + })); + const { dispatch } = useGlobalModalServices(); const cards = [ { diff --git a/src/pages/TheOperationOfTheDistrictCityAndCounty/components/DistrictList/index.tsx b/src/pages/TheOperationOfTheDistrictCityAndCounty/components/DistrictList/index.tsx index 4b3c6122..11d74737 100644 --- a/src/pages/TheOperationOfTheDistrictCityAndCounty/components/DistrictList/index.tsx +++ b/src/pages/TheOperationOfTheDistrictCityAndCounty/components/DistrictList/index.tsx @@ -1,68 +1,40 @@ -import services from '@/services'; import { getColorByIndex } from '@/utils/ui'; import { CaretDownOutlined, CaretUpOutlined, LeftOutlined, } from '@ant-design/icons'; +import { useModel } from '@umijs/max'; import { useToggle } from 'ahooks'; import { Flex, Popover, Progress, Space, Spin } from 'antd'; import classNames from 'classnames'; import { cloneDeep } from 'lodash'; -import React, { useEffect, useMemo, useState } from 'react'; -import { useDistrictContext } from '../..'; +import React, { useEffect, useMemo } from 'react'; import PopoverCard from '../PopoverCard'; import styles from './index.less'; -const List = [ - { - name: '温江区', - value: 98.6, - problemNum: 235, - compare: 1.3, - id: 1, - }, - { - name: '都江堰市', - value: 88.6, - problemNum: 200, - compare: -1.3, - id: 2, - }, - { - name: '天府新区', - value: 82.6, - problemNum: 150, - compare: 1.3, - id: 3, - }, -]; /** @name 地区列表 */ const DistrictList: React.FC = () => { const [state, { setLeft, setRight }] = useToggle('low', 'hight'); + /** @description store */ + const { + getAreaListDto, + loading, + areaListDto, + selectDistrict, + setSelectDistrict, + } = useModel('regionalIndex'); - const { selectDistrict, setSelectDistrict } = useDistrictContext(); - const [loading, setLoading] = useState(false); - const [dataSource, setDataSource] = useState( - [], - ); const result = useMemo(() => { if (state === 'low') { - return cloneDeep(dataSource); + return cloneDeep(areaListDto); } else { - return cloneDeep(dataSource).reverse(); + return cloneDeep(areaListDto).reverse(); } - }, [state, dataSource]); + }, [state, areaListDto]); + useEffect(() => { - setLoading(true); - services.districtController - .getDistrictIndexList() - .then((res) => { - setDataSource(res.data); - }) - .finally(() => { - setLoading(false); - }); + getAreaListDto(); }, []); return ( @@ -124,7 +96,7 @@ const DistrictList: React.FC = () => {
div { width: 40px; height: 40px; @@ -59,3 +61,18 @@ margin-top: 10px; } } + +.indexMarker { + width: 44px; + height: 44px; + box-sizing: border-box; + border: 3px solid rgba(255, 255, 255, 0.5); + box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.5); + background: var(--bg-color); + border-radius: 22px; + display: flex; + align-items: center; + justify-content: center; + + color: var(--color); +} diff --git a/src/pages/TheOperationOfTheDistrictCityAndCounty/components/Map/index.tsx b/src/pages/TheOperationOfTheDistrictCityAndCounty/components/Map/index.tsx index 9a0228dd..3545513e 100644 --- a/src/pages/TheOperationOfTheDistrictCityAndCounty/components/Map/index.tsx +++ b/src/pages/TheOperationOfTheDistrictCityAndCounty/components/Map/index.tsx @@ -1,25 +1,100 @@ +import MapView from '@/components/MapView'; +import BMapService from '@/utils/mapService'; +import { getColorByIndex } from '@/utils/ui'; import { MinusOutlined, PlusOutlined } from '@ant-design/icons'; +import { useModel } from '@umijs/max'; import { Space } from 'antd'; -import React from 'react'; -import { useDistrictContext } from '../..'; +import React, { CSSProperties, Fragment, useEffect, useRef } from 'react'; +import { CustomOverlay, Polygon } from 'react-bmapgl'; import DistrictDetailBar from '../DIstrictDetailBar'; import styles from './index.less'; /** 地图 */ const DistrictMap: React.FC = () => { - const { selectDistrict } = useDistrictContext(); + /** @description store */ + const { selectDistrict, areaListDto } = useModel('regionalIndex'); + + const MapRef = useRef(); + + /** + * @description 设置地图视野 + */ + const setViewport = () => { + const points = areaListDto + .map((item) => { + return BMapService.buildPoints(item.points); + }) + .flat(1); + + const map = MapRef.current?.map as BMapGL.Map; + if (map) { + map.setViewport(points); + } + }; + + const addZoom = () => { + const map = MapRef.current?.map as BMapGL.Map; + map.centerAndZoom(map.getCenter(), map.getZoom() + 1); + }; + + const reduceZoom = () => { + const map = MapRef.current?.map as BMapGL.Map; + map.centerAndZoom(map.getCenter(), map.getZoom() - 1); + }; + + /** @description 移动视角到能显示全部覆盖物 */ + useEffect(() => { + setViewport(); + }, [MapRef.current]); return ( -
+
+ + {!selectDistrict ? ( + + {areaListDto.map((item, index) => { + return ( + + ); + })} + {areaListDto.map((item, index) => { + const point = BMapService.buildPoint( + Number(item.centerX), + Number(item.centerY), + ); + + return ( + +
+ {Number(item.qualitySign)} +
+
+ ); + })} +
+ ) : undefined} +
{selectDistrict && ( -
{selectDistrict.name}
+
{selectDistrict.objectName}
)}
@@ -40,13 +115,13 @@ const DistrictMap: React.FC = () => {
-
+
setViewport()}>
-
+
-
+
diff --git a/src/pages/TheOperationOfTheDistrictCityAndCounty/index.tsx b/src/pages/TheOperationOfTheDistrictCityAndCounty/index.tsx index 68985fcc..9262365e 100644 --- a/src/pages/TheOperationOfTheDistrictCityAndCounty/index.tsx +++ b/src/pages/TheOperationOfTheDistrictCityAndCounty/index.tsx @@ -1,65 +1,50 @@ import { useToggle } from 'ahooks'; import { Flex, message, Space } from 'antd'; import classNames from 'classnames'; -import React, { useState } from 'react'; +import React from 'react'; import DistrictList from './components/DistrictList'; import DistrictMap from './components/Map'; import styles from './index.less'; -const Context = React.createContext<{ - selectDistrict?: any; - setSelectDistrict?: (value: any) => void; -}>({}); - -export const useDistrictContext = () => React.useContext(Context); - /** @module 区市县运行情况 */ const TheOperationOfTheDistrictCityAndCounty: React.FC = () => { const [state, { toggle }] = useToggle('left', 'right'); - const [selectDistrict, setSelectDistrict] = useState(); return ( - -
- -
区(市)县运行情况
- -
10:20 更新
-
-
- 实时态势 -
-
{ - message.warning('功能未开放'); - }} - className={classNames( - styles.btn, - state === 'right' ? styles.btnSelected : undefined, - )} - > - 历史态势 -
+
+ +
区(市)县运行情况
+ +
10:20 更新
+
+
+ 实时态势 +
+
{ + message.warning('功能未开放'); + }} + className={classNames( + styles.btn, + state === 'right' ? styles.btnSelected : undefined, + )} + > + 历史态势
- - -
- - -
+
+
+
+
+ +
- +
); }; diff --git a/src/utils/mapService.ts b/src/utils/mapService.ts new file mode 100644 index 00000000..b31673ae --- /dev/null +++ b/src/utils/mapService.ts @@ -0,0 +1,39 @@ +/** + * @description 地图服务 + * + */ +export default class BMapService { + /** @description 构建地图点 */ + static buildPoints(points: number[][]) { + return points.map((item) => { + return new BMapGL.Point(item[0], item[1]); + }); + } + + static buildPoint(lng: number, lat: number) { + return new BMapGL.Point(lng, lat); + } + /** @description 获取图标样式 */ + static getMakerCSS(index: number) { + if (index > 95) { + return { + '--color': 'rgb(61, 191, 62)', + '--bg-color': + 'linear-gradient(180.00deg, rgb(255, 255, 255),rgb(197, 255, 197) 100%)', + }; + } + if (index < 95 && index > 85) { + return { + '--color': 'rgb(68, 127, 240)', + '--bg-color': + 'linear-gradient(180.00deg, rgb(255, 255, 255),rgb(172, 200, 255) 100%)', + }; + } + + return { + '--color': 'rgb(255, 162, 80)', + '--bg-color': + 'linear-gradient(180.00deg, rgb(255, 255, 255),rgb(255, 229, 206) 100%);', + }; + } +} diff --git a/yarn.lock b/yarn.lock index f619b32a..487cfae4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1751,6 +1751,11 @@ dependencies: "@babel/types" "^7.20.7" +"@types/bmapgl@^0.0.7": + version "0.0.7" + resolved "https://registry.npmmirror.com/@types/bmapgl/-/bmapgl-0.0.7.tgz#005bd208b782f1c611964f50f58f792aa239b243" + integrity sha512-3R0wFbZtynfHBJq0v477amaNH3t2u2CzBo46ViIPDdOTEJJ+Ma/ql4X8tS2XjDZcZhDAr6QDWoqV8SZvp6STvA== + "@types/crypto-js@^4.2.2": version "4.2.2" resolved "https://registry.npmmirror.com/@types/crypto-js/-/crypto-js-4.2.2.tgz#771c4a768d94eb5922cc202a3009558204df0cea" @@ -6423,6 +6428,11 @@ map-obj@^4.0.0: resolved "https://registry.npmmirror.com/map-obj/-/map-obj-4.3.0.tgz#9304f906e93faae70880da102a9f1df0ea8bb05a" integrity sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ== +mapvgl@^1.0.0-beta.189: + version "1.0.0-beta.191" + resolved "https://registry.npmmirror.com/mapvgl/-/mapvgl-1.0.0-beta.191.tgz#3e77a834ffcf44385512390ecd0b484b267dd2ba" + integrity sha512-kbcLSXPSZybMgvJ0RTPEpISC6hpc27P/UwYCFASKLRe6Z7LC0Z11FwNXvQT/jkAK/LdBm2GqsE9i+GQViqRIYg== + mathml-tag-names@^2.1.3: version "2.1.3" resolved "https://registry.npmmirror.com/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz#4ddadd67308e780cf16a47685878ee27b736a0a3" @@ -8410,6 +8420,14 @@ rc-virtual-list@^3.14.2, rc-virtual-list@^3.2.0, rc-virtual-list@^3.5.1, rc-virt rc-resize-observer "^1.0.0" rc-util "^5.36.0" +react-bmapgl@^0.2.28: + version "0.2.28" + resolved "https://registry.npmmirror.com/react-bmapgl/-/react-bmapgl-0.2.28.tgz#b04fd995f5469fb3e67369577b5bb248712dbf3a" + integrity sha512-qqIyuoDril0424/MQA418D20KtvNeE7MBRnWL1EttaX/kNfGzAUjJRoVzROD8bLiDytYSzvodyr+hl0/6MniCQ== + dependencies: + mapvgl "^1.0.0-beta.189" + shallowequal "^1.1.0" + react-countup@^6.5.3: version "6.5.3" resolved "https://registry.npmmirror.com/react-countup/-/react-countup-6.5.3.tgz#e892aa3eab2d6ba9c3cdba30bf4ed6764826d848" -- GitLab