From 75b8a112386600944f19275d6def2b5d5f2ae51d Mon Sep 17 00:00:00 2001 From: yaoyuhao Date: Tue, 23 Jul 2024 16:29:03 +0800 Subject: [PATCH 1/2] gx --- src/view/sy_map.vue | 54 +++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 52 insertions(+), 2 deletions(-) diff --git a/src/view/sy_map.vue b/src/view/sy_map.vue index c281e82..48f300b 100644 --- a/src/view/sy_map.vue +++ b/src/view/sy_map.vue @@ -179,6 +179,8 @@ const mapTownCount = reactive([ //默认龙游县灰色地块 const mapTownDataDK = reactive([]); +//社区地块 +const xkzDk = reactive([]); var map = null; const initMap = () => { map = new BMapGL.Map("map", { minZoom: 11, maxZoom: 20 }); @@ -238,6 +240,47 @@ const addPolygonCounty = () => { createCustomOverlayJd(item); }); }; +//加载村社信息 +const loadCs = () => { + for (let v of xkz.features) { + if (v.geometry.coordinates.length > 1) { + for (let w in v.geometry.coordinates) { + if (v.geometry.coordinates[w][0].length < 60) continue; + xkzDk.push({ + name: v.properties.name, + point: v.geometry.coordinates[w][0], + }); + } + } else { + xkzDk.push({ + name: v.properties.name, + point: v.geometry.coordinates[0], + }); + } + } +}; +//添加村社区块 +const addPolygonCountyCs = () => { + console.log(888888,xkzDk); + let fillColor = "#red"; + xkzDk.map((item) => { + //地区的坐标范围 + let points = []; + item.point.map((p) => points.push(new BMapGL.Point(...p))); + if (points.length) { + //创建面 + let polygonCs = new BMapGL.Polygon(points, { + strokeColor: "blue", + strokeWeight: 2, + strokeOpacity: 0.8, + fillColor: fillColor, + fillOpacity: 0.7, + name: item.name, + }); + map.addOverlay(polygonCs); + } + }); +}; // 添加地图上的街道名 const createCustomOverlayJd = (polygon) => { function createLabelDOM() { @@ -264,7 +307,14 @@ const createCustomOverlayJd = (polygon) => { div.appendChild(title); title.appendChild(document.createTextNode(this.properties.title)); content.appendChild(div); - + div.onclick = function () { + console.log(11111111, polygon); + if (polygon.name == "溪口镇") { + loadCs(); + addPolygonCountyCs(); + console.log(2222); + } + }; return content; } var customOverlay = new BMapGL.CustomOverlay(createLabelDOM, { @@ -346,7 +396,7 @@ const removeAllPolygon = () => { let allOverlay = map.getOverlays(); console.log("allOverlay", allOverlay); for (let i = 0; i < allOverlay.length; i++) { - map.removeOverlay(allOverlay[i]); + map.removeOverlay(allOverlay[i]); } addPolygonCounty(); }; From 17f5e1677222bf120d78f14b8c4c2dacb96bab84 Mon Sep 17 00:00:00 2001 From: yaoyuhao Date: Wed, 24 Jul 2024 09:04:38 +0800 Subject: [PATCH 2/2] gx --- src/assets/images/map/qlan.png | Bin 0 -> 4924 bytes src/assets/images/map/qlv.png | Bin 0 -> 4949 bytes src/assets/images/map/shuang.png | Bin 0 -> 4748 bytes src/assets/images/map/slan.png | Bin 0 -> 5041 bytes src/assets/images/map/slv.png | Bin 0 -> 5175 bytes src/view/sy_map.vue | 273 ++++++++++++++++++++++++++----- 6 files changed, 230 insertions(+), 43 deletions(-) create mode 100644 src/assets/images/map/qlan.png create mode 100644 src/assets/images/map/qlv.png create mode 100644 src/assets/images/map/shuang.png create mode 100644 src/assets/images/map/slan.png create mode 100644 src/assets/images/map/slv.png diff --git a/src/assets/images/map/qlan.png b/src/assets/images/map/qlan.png new file mode 100644 index 0000000000000000000000000000000000000000..e446af2322e7e7a4eb59e77d6653b936f3eb8f8f GIT binary patch literal 4924 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 R0RIjHjPy-#FU}ET{|DG;+;#u} literal 0 HcmV?d00001 diff --git a/src/assets/images/map/qlv.png b/src/assets/images/map/qlv.png new file mode 100644 index 0000000000000000000000000000000000000000..c2060fa2c4e73d0b0fc8c819c6e60b39c09f18e5 GIT binary patch literal 4949 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 aCj&{|azTo=jtjge1GLo*FqOCLqyGo-o&$gY literal 0 HcmV?d00001 diff --git a/src/assets/images/map/shuang.png b/src/assets/images/map/shuang.png new file mode 100644 index 0000000000000000000000000000000000000000..230a743e8db321815440fb44d20f6cf97dfcec44 GIT binary patch literal 4748 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 a%?$%H{VH8V)c*ixSg&mW literal 0 HcmV?d00001 diff --git a/src/assets/images/map/slan.png b/src/assets/images/map/slan.png new file mode 100644 index 0000000000000000000000000000000000000000..229def78afe34d09d8b0e88ef7fed0a95012c251 GIT binary patch literal 5041 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 literal 0 HcmV?d00001 diff --git a/src/assets/images/map/slv.png b/src/assets/images/map/slv.png new file mode 100644 index 0000000000000000000000000000000000000000..3874bdefc1f3abf453c83fc8da6240a1895c6399 GIT binary patch literal 5175 zcmX|Fc|4R|8-8XcWGFFclBLEr@ghQ&Fx4QkE7@X@m$GCRS!P0Z8jU4nDn0H@S$q4fX&M4~?bdy9003-R4SoI26SMgthGfmjZMvlqtA7c%10CB41eJR?dM**e zC}^%p4}z%MMS56z+ohXwF6RSTE24Q{-qsKeM)2xsxre=TW}wrIydB!ixY*xLSu9nu zTc4|#dsSnTRO7ce^--yKqq4f)b5T3Gl)R%@h>ZlZrU5ia6wZ_;Q2OvuN8&_;xD?QH z7C#Zw`Kx)FA7=f)CpzL8m^B0gveHln#30kBFmWMn;iFFN6&(r4_KLzlt_k zvlb6nbvv+nj=J?Ku(rZT?z}GFZ@i6XG&L}CeMc16Wna|}3H^}p$xH6wlsK$-78e!| z6s+If`nxI4C!qalR;k@so7ZoP4Xp7L=F>%5!+Y`er5CFvfWo7 zzP6+Y^Qir>NAZp0t1Y)*AsaUJEixE+6}2@%P?_8Ha2Nvyj#a(i&g;6nztJE@wrGwh z{^5>^KKndWVz-W2fVAXKHwU6Yo*APW`vIT@rWY%F-}|?b%jWxWpSo3lz5Jf!a*Jxh ze$yxPIm#kdf$A9IPCfk1espiHYE4*AZi~IhulNSIxF^f-o|AZ6;zvKW1Z2bhFH8pG zzGpo*)j?(?CZcmH+6pu{etwuITieQo#HnE@!_}mn(tO36YQw(F!3wS-Ix4Iu=;2mw zCvu}6^fKqm{*3u6y!f8hng1(s#AXn?8PeD6slim_4)I;Cr?}Kr?0epmKGp=Ceb`r5+IElt=wWw!``H_ zUYQYGFqbau^T1Bd+kJSJHDYrLz3a2)gjY^LhHDs3K$7)CyWslVC{94c{t0d>b8)hK z#C)RJ3pk)V2v*LGx(CQY;|o2%2XJ0fU^dyX7aPRy%}omG`q5(iI<(FVL##oY-&f@p zj1#s`V!045lGQ^bzx5)1_4a_pEMNhwbH2Wm^84KD+lF%tRHcCY!BtEP4Y^mEFq2t5 zX^<^7!gZx4*(ddkzzF0A6eEI-R-Tx0`uoukmMNY^i&X^%>Cy`7{P95y&!(stAcETHaBNR+$>B=90e0zbs#u=lg4%Br9 zip#rVbJ_Ll)8WsP=`z9Y8UpHdm2yo2^z|CdvaIU<3LecYnN#HV1;y-4Y3gRU=@&DQ z;I5${tS9%6@Br#luTWI#E|;KI3hG}2TS_MTBUA2Fs;V_`Lv$OK+S?RM`i0%Dsj;Xe zw_<#=U8im*($nu8L0JFvWGlhFu*!(Hta2xF9~B~WSEw$nG_Ugk@J9J9hK+MYJ|nd~ zAO#sIZVfP=SgN)=_XtZ`!$=Amt=;G0(Yu(5eyzU?7V& zMF;ysA6>WxKVSojETWDSCQ2a3GYrEj9ag$plQbpv9kro{sZ z;Izm^ueGxGQ74khZRKh;23RUa5WH^=)1M`CNY$>;n*9LHd}5i3+np#Qxu3z>AU9?_ z*QaS6JeA7dT7c{QjnLd}52SU2P{h;6LbU_u3AMDmX50aXP9e~vE8)506(09Hw^GU| zELm;sa{`FfFb>CbSfASHinbxu zi=H^7(>~%M_ai$xWZL!HjnW(Z>Q)*N!;p22ouw3+E5a~diY)z0{g||d?EVA)sq4S; zcPuaLh_B^<-su=HR9f2^m!w68a0+XfgS7}LUU&vjNl~g!u(~IY6p-ZUdoRJyiRbuS zJdK-i%fwlgG_AqN+NN!e`Wi$G_p};VozMu+uiH+~mHX_l4igzE=U9fZEDbDr74~r1 zPL(ShLa%c{2bVAn=X0A67c}u)8FDA)a+>Kg)7!GxG{HvgZiLLFrfg(Lnbd?6ZsQUSgzzeUA5LKBgypeLWWhp3_)&;R-{TndvCamWc( zY^Xm2Nfsn59?9RYK3*e+aA0uB^Eu#CtRPk~?gvvAy&jDJ{E}xF>|HTbl4ZT&+ zExn>nNc1Spz*Wu6a*J%cdx!;nJt&;i06~U=V}(saq8r<8_6o)StWqLL71^L1mp3&D zjS1nv+X@44j{Q7bNfFdyr>CC5u%mIbZV9@()#z=w_Vdn833CmNi7MJ{_EuD!Nk)%* zO-e}_S&Da{E@r+~wB^!KB=H+y+}f{C`?LqFQ?kQCL|5?s8Ip}(K%3myr<@MIU;QKb zr<=Jlj_(++3oIwxd|OYwj6?0)*@>VZ#6I?sEkNGqy`K%4e&o=ca{<5f62o}dR*VWS z*@myf`*{Zlcy~mXWIKB1)#(o~Y{BVgFa48m1Z10xEfv3ErPkg%acO<22_du3n zwcoh!!I-zcP*lo<)vdn4fp(Mg8fvcs0%t;*X&Nxcff0x5Gw}af~ZltivcN29>u(0!kf=iSga+mQNyjBeW^`#ihauI z|H%ZUQPsG`Wc6}tjjrwsZmxoh!onh9krb$66@VN6jGXu_LnaVJT z{4;N1a28*){d|X%IKmGWjILz(b(p6>&~h4YqCZ$np{uoEIWXi~ zks#?rpE<3G$r|VC)qjkM&wLJTMS)aL_C!|Ex2p2@TWPZ3o906GcvQRvjb0h{_>~bBD-te(&@+K$o?iCq@s7XiwP})mNJBPsPHQ+sV(Rtdp#7W> z$sTl${!O>AkSZykblOyovYgaOcH<2`R?))GB`gU-eKKgBy07)8P zH{rNx6WQ=~!$uYw{OOoXd10I=%!KimLIdx z`%pa_gIS*!wn3dM?#7K#$MHSNhofIEOy7H*KYy{070;Ei2)C-Gae70MrIs>dx6uin z?Bt0C!$Vr?$G}Nh|1_}0@3!d4fYLHTl8ad;(SSm}w*09DTu-5rtIWBEqw0};@=lc` zd#bkCBPP$xkdmIOdFX!j`WtrP^b9r_!>%XUo0qi?v3Dx3Z}`rG8h54l2*M%8Q)!Z3~dN0RbZ|eZAioEW9&r_QRzQQ<;o% zT5Ap0viC;(+*lMd-j95K!K5%nSiNR%n-|-)y%Ax4`VFN!-$`z@L_ZHMc(g_bV?A!# zQ{Y^qup)<8(TqaRsKxci4RS1zm0py%;2`~QiK7p%r#a7?EDz_toKLTeCx56LtI1g7 zQ}>OjX#9y8(WdKI>X&Yob8VzIi@+b*El`A+W|hqAt>^yRjgXM)JJ|U=Flgb>W3zjq zn)n+M+$nB)h+K#pj<&DwI_b}qIg154otx+n3a;NglxNfk`M^IP*EN)OuW)kig?yU>t*nN z(r7aAs9&<7{7aNMIm*E-JHtRQ$*5+lR{=8J=zLZBGe&OyD6^r%{a2xkN2xk0rhMPf zE%u>#%J~}2*KdyTgJn*=UvcPj!!MAv9`1OI4O60v4821sUPY@12{BpZ0wO`)7O{}` zhb!#OgMS>zklmM3m$0 zGS*D*&VDwPo9L~&zq@&YuTbq$@vS+TBNFsSqmpK;rZiMyU6k&YB#wZtt)E)aAf!By zh1N5WwWtH+(sal0tvzENix0;gK$|b_PhmvExJ9>4`XJ4ETdf$P(%T><|3at)E$V#@ zW_vMPD`QAl`_~^XlT~>|rQ@C{@Gk1CmDV{$Sp3~}MYSHv97yLL+OMV1bxT0K{qCeS z;O36c&4Y07&ELBwIbr1U(bdFnYIN$TCg6%r+Qw*buSgfX_YT_IRlR?AIx(b~NHcQ> z$C4>%WClUyuA5qN8HS&^CR@#;S4YXaFg1R3DS*OR!phUVIe!aie9nv&{gA3Zr8dlq zNNk7pK$DRQEi3E*4`gY0;`=v}TXf+4BC^T1Y?R<{mE(hT=xvKvbHoHPZuGCL>puY5 z3L`+h)~ArV-Z9p`KX+;`|pUD~g_p|fnF@POy({@-D$q3HfZMEjre zmYV5ado|&U$gpw%I|iv!mm2j-S=xry2;|ik5-mrJlLMVsM=aPGW@y%5N-w+6?Mm zqExb(0+q-S){R5gL521EQnq1=Tq$U3@!QQw26x;;4?}5Ms)P129qo$c3n`e#abSz!g4ucvwP7)G3I`* ze-hL9)dza5dHX_sTrF+3cYMA3Xoo%TCn4;wiF5@6`?Q3a{c$T%g)LZfZisa*e`5fV zEF6JT2eu`ymPaF|h4tgg51fnGsI#BKy?Afa{M77ROLA*&H}$rm{_Kcs=*^y=LadOi^{c$=?{{`KY=JV>q!gU$BN2MzE?mZzjEY9)fk+gk7 z5hOOzZ-qoTLmL@vKY}G@EA*loVf|f%_=Y#_jwIwvtofJP)IYudlFz;7B^^~qJl`2M zwxEP})1RNe6?UB-YV|^}bPdE@)Fx2xeST{L+_Xz@pibMIA@}RvVcS^G43<+s_hLiNMDFl z
-
龙游县
+
{{ title_choose }}
@@ -12,7 +12,7 @@ class="content_item" v-for="(item, index) in personTotal" :class="{ choose: item.id == choose.person }" - @click="change(item.id, 'person')" + @click="changeRs(item.id)" :key="index" >
{{ item.name }}
@@ -30,7 +30,7 @@ class="content_item" v-for="(item, index) in tsbqTotal" :class="{ choose: item.id == choose.bq }" - @click="change(item.id, 'bq')" + @click="changebq(item.id)" :key="index" >
{{ item.name }}
@@ -75,7 +75,7 @@ class="zyys_content_item" v-for="(item, index) in yaosuTotal" :class="{ choose: item.id == choose.yaosu, wz: item.wz == true }" - @click="change(item.id, 'yaosu')" + @click="changeys(item.id)" :key="index" > @@ -113,67 +113,118 @@ import j10 from "@/assets/images/map/j10.png"; import m1 from "@/assets/images/map/m1.png"; import m2 from "@/assets/images/map/m2.png"; import dwd from "@/assets/images/map/dwd.png"; +import fwqbg1 from "@/assets/images/map/qlv.png"; +import fwqbg2 from "@/assets/images/map/qlan.png"; +import fwqbg3 from "@/assets/images/map/slan.png"; +import fwqbg4 from "@/assets/images/map/slv.png"; +import fwqbg5 from "@/assets/images/map/shuang.png"; +const title_choose = ref("龙游县"); +//村社颜色列表 +const colorList = [ + { + bg: "RGBA(52, 231, 134, 1)", + }, + { + bg: "RGBA(255, 206, 0, 1)", + }, + { + bg: "RGBA(186, 232, 128, 1)", + }, + { + bg: "RGBA(35, 146, 223, 1)", + }, + { + bg: "RGBA(60, 144, 252, 1)", + }, + { + bg: "RGBA(255, 142, 0, 1)", + }, + { + bg: "RGBA(137, 128, 0, 1)", + }, + { + bg: "RGBA(0, 207, 249, 1)", + }, + { + bg: "RGBA(27, 91, 55, 1)", + }, +]; //地图设置 const mapTownCount = reactive([ { name: "龙洲街道", - center: [119.1573083, 29.0267445], + center: [119.1573083, 28.9799445], + number: "1000", }, { name: "东华街道", - center: [119.209592, 29.11824], + center: [119.209592, 28.9799445], + number: "1000", }, { name: "小南海镇", - center: [119.169616, 29.05309], + center: [119.119616, 29.07309], + number: "1000", }, { name: "湖镇镇", - center: [119.2956892, 29.0686151], + center: [119.2906892, 29.0386151], + number: "1000", }, { name: "溪口镇", - center: [119.1859408, 28.8479474], + center: [119.1859408, 28.8879474], + number: "1000", }, { name: "詹家镇", - center: [119.1401732, 29.015175], + center: [119.1201732, 29.005175], + number: "1000", }, { name: "塔石镇", - center: [119.1656669, 29.1373072], + center: [119.1256669, 29.1373072], + number: "1000", }, { name: "横山镇", - center: [119.2176111, 29.1803275], + center: [119.1876111, 29.1903275], + number: "1000", }, { name: "模环乡", - center: [119.237015, 29.240862], + center: [119.237015, 29.120862], + number: "1000", }, { name: "石佛乡", - center: [119.1192998, 29.1718674], + center: [119.1002998, 29.2018674], + number: "1000", }, { name: "沐尘畲族乡", - center: [119.1837169, 28.8314116], + center: [119.1837169, 28.8014116], + number: "1000", }, { name: "罗家乡", - center: [119.2453273, 28.9430851], + center: [119.2453273, 28.9130851], + number: "1000", }, { name: "庙下乡", - center: [119.1637175, 28.8389885], + center: [119.1037175, 28.8089885], + number: "1000", }, { name: "大街乡", center: [119.2664362, 28.8432149], + number: "1000", }, { name: "社阳乡", - center: [119.2957367, 28.9674754], + center: [119.3109367, 28.9074754], + number: "1000", }, ]); @@ -191,6 +242,8 @@ const initMap = () => { loadTown(); //渲染地块 addPolygonCounty(); + //添加街道名 + addJd(); }; const loadTown = () => { for (let v of mapTown.features) { @@ -235,11 +288,22 @@ const addPolygonCounty = () => { map.addOverlay(polygon); } }); + // mapTownCount.map((item) => { + // createCustomOverlayJd(item); + // }); +}; +//添加街道名 +const addJd = () => { mapTownCount.map((item) => { - //相同乡镇名称,图标和名称只创建1次 createCustomOverlayJd(item); }); }; +//添加街道名2含数量 +const addJd2 = () => { + mapTownCount.map((item) => { + createCustomOverlayJd2(item); + }); +}; //加载村社信息 const loadCs = () => { for (let v of xkz.features) { @@ -261,16 +325,16 @@ const loadCs = () => { }; //添加村社区块 const addPolygonCountyCs = () => { - console.log(888888,xkzDk); - let fillColor = "#red"; - xkzDk.map((item) => { + xkzDk.map((item, index) => { + let num = index % 9; + let fillColor = colorList[num].bg; //地区的坐标范围 let points = []; - item.point.map((p) => points.push(new BMapGL.Point(...p))); + item.point[0].map((p) => points.push(new BMapGL.Point(...p))); if (points.length) { //创建面 let polygonCs = new BMapGL.Polygon(points, { - strokeColor: "blue", + strokeColor: fillColor, strokeWeight: 2, strokeOpacity: 0.8, fillColor: fillColor, @@ -281,7 +345,7 @@ const addPolygonCountyCs = () => { } }); }; -// 添加地图上的街道名 +// 创建地图上的街道名 const createCustomOverlayJd = (polygon) => { function createLabelDOM() { var content = document.createElement("div"); @@ -301,18 +365,25 @@ const createCustomOverlayJd = (polygon) => { div.setAttribute("name", this.properties.title); var title = document.createElement("div"); - title.style.fontSize = "20px"; - title.style.fontWeight = "700"; + title.style.fontSize = "16px"; + title.style.fontWeight = "600"; title.style.color = "#000000"; div.appendChild(title); title.appendChild(document.createTextNode(this.properties.title)); content.appendChild(div); div.onclick = function () { - console.log(11111111, polygon); + let jdCenter = []; if (polygon.name == "溪口镇") { + title_choose.value = title_choose.value + `>${polygon.name}`; + console.log(title_choose.value); loadCs(); addPolygonCountyCs(); - console.log(2222); + mapTownCount.map((item) => { + if (item.name == "溪口镇") { + jdCenter = item.center; + } + }); + goMapCenter(jdCenter, 14); } }; return content; @@ -328,7 +399,70 @@ const createCustomOverlayJd = (polygon) => { }); map.addOverlay(customOverlay); }; -// 添加地图上的图标 +// 创建地图上的街道名+(人数,标签) +const createCustomOverlayJd2 = (polygon) => { + function createLabelDOM() { + var content = document.createElement("div"); + content.style.display = "flex"; + content.style.flexDirection = "column"; + content.style.alignItems = "center"; + content.style.zIndex = BMapGL.Overlay.getZIndex(this.point.lat); + + var div = document.createElement("div"); + div.style.color = "#333"; + div.style.whiteSpace = "nowrap"; + div.style.MozUserSelect = "none"; + div.style.display = "flex"; + div.style.flexDirection = "column"; + div.style.justifyContent = "center"; + div.style.alignItems = "center"; + div.style.cursor = "pointer"; + div.setAttribute("name", this.properties.title); + + var title = document.createElement("div"); + title.style.fontSize = "16px"; + title.style.fontWeight = "600"; + title.style.color = "#000000"; + div.appendChild(title); + title.appendChild(document.createTextNode(this.properties.title)); + content.appendChild(div); + var number = document.createElement("div"); + number.style.fontSize = "16px"; + number.style.fontWeight = "600"; + number.style.color = "rgba(0, 255, 189, 1)"; + div.appendChild(number); + number.appendChild(document.createTextNode(this.properties.number)); + content.appendChild(div); + div.onclick = function () { + let jdCenter = []; + if (polygon.name == "溪口镇") { + title_choose.value = title_choose.value + `>${polygon.name}`; + console.log(title_choose.value); + loadCs(); + addPolygonCountyCs(); + mapTownCount.map((item) => { + if (item.name == "溪口镇") { + jdCenter = item.center; + } + }); + goMapCenter(jdCenter, 14); + } + }; + return content; + } + var customOverlay = new BMapGL.CustomOverlay(createLabelDOM, { + point: new BMapGL.Point(...polygon.center), + opacity: 0.5, + offsetY: 0, + properties: { + title: polygon.name, + number: polygon.number, + type: "customOverlay", + }, + }); + map.addOverlay(customOverlay); +}; +// 添加公共服务圈的图标 const createCustomOverlay = (polygon) => { function createLabelDOM() { var content = document.createElement("div"); @@ -347,14 +481,15 @@ const createCustomOverlay = (polygon) => { div.style.display = "flex"; div.style.justifyContent = "center"; div.style.alignItems = "center"; - div.style.background = polygon.bgColor; + div.style.background = `url(${fwqbg1}) no-repeat 0/100% 100%`; div.style.cursor = "pointer"; + div.style.transform = "translateX(30px)"; div.setAttribute("name", this.properties.title); var title = document.createElement("div"); title.style.fontSize = "14px"; title.style.fontWeight = "700"; - title.style.marginLeft = "4px"; + title.style.marginLeft = "0px"; title.style.color = "#ddd"; div.appendChild(title); title.appendChild(document.createTextNode(this.properties.title)); @@ -379,41 +514,68 @@ const createCustomOverlay = (polygon) => { var customOverlay = new BMapGL.CustomOverlay(createLabelDOM, { point: new BMapGL.Point(...polygon.point), opacity: 0.5, - offsetY: -10, + offsetY: 0, properties: { title: polygon.name, imgSrc2: dwd, type: "customOverlay", }, }); + // var labelopts = { + // position: new BMapGL.Point(polygon.point[0], polygon.point[1]), // 指定文本标注所在的地理位置 + // offset: new BMapGL.Size(0, -97), // 设置文本偏移量 + // }; + // var label = new BMapGL.Label(polygon.name, labelopts); + // label.setStyle({ + // color: "#fff", + // borderRadius: "1px", + // padding: "5px 13px", + // // background: `url(${b1s}) no-repeat 0/100% 100%`, + // fontSize: "15px", + // lineHeight: "20px", + // border: "0", + // transform: "translateX(-50%)", + // }); map.addOverlay(customOverlay); }; //地图中点 const goMapCenter = (point, zoom) => { map.centerAndZoom(new BMapGL.Point(point[0], point[1]), zoom); }; -const removeAllPolygon = () => { +const removeAllPolygon = (e) => { let allOverlay = map.getOverlays(); console.log("allOverlay", allOverlay); for (let i = 0; i < allOverlay.length; i++) { map.removeOverlay(allOverlay[i]); } - addPolygonCounty(); + if (e == "fwq") { + addPolygonCounty(); + addJd(); + } else { + addPolygonCounty(); + addJd2(); + } }; //选项设置 //选中 const choose = ref({ - person: 0, - bq: 0, - fwq: 100, - yaosu: 0, + person: 9999, + bq: 9999, + fwq: 9999, + yaosu: 9999, }); -const change = (id, name) => { - choose.value[name] = id; +const changeRs = (id) => { + choose.value.person = id; + choose.value.bq = 9999; + removeAllPolygon("person"); +}; +const changebq = (id) => { + choose.value.bq = id; + choose.value.person = 9999; }; const changeFwq = (id, list, center) => { choose.value.fwq = id; - removeAllPolygon(); + removeAllPolygon("fwq"); fwqList.value = list; goMapCenter(center, 17); fwqList.value.map((item) => { @@ -421,6 +583,9 @@ const changeFwq = (id, list, center) => { }); console.log(fwqList.value); }; +const changeys = (id) => { + choose.value.yaosu = id; +}; //人口数 const personTotal = ref([ { @@ -497,6 +662,26 @@ const personTotal = ref([ //特殊标签 const tsbqTotal = ref([ + { + id: 10, + name: "退役军人", + value: "26737", + }, + { + id: 20, + name: "留守", + value: "26737", + }, + { + id: 30, + name: "困境儿童", + value: "26737", + }, + { + id: 40, + name: "特困", + value: "26737", + }, { id: 0, name: "低边", @@ -608,6 +793,7 @@ const jbfwqTotal = ref([ name: "溪口幼儿园", point: [119.1856806, 28.8509359], bgColor: "#00b050", + }, { name: "衢州学院附属幼儿园", @@ -1081,6 +1267,7 @@ onMounted(() => { color: #ffffff; height: 220px; overflow: auto; + .content_item { cursor: pointer; box-sizing: border-box; @@ -1178,7 +1365,7 @@ onMounted(() => { line-height: 48px; } .jbggfwq_content_item_right { - width: 400px; + width: 370px; display: flex; flex-flow: row wrap; .jbggfwq_content_item_right_item {