From 9342d91f064ab3056d0fcfad5ad3f78833e8c536 Mon Sep 17 00:00:00 2001 From: y505174330 <505174330@qq.com> Date: 星期六, 18 五月 2024 17:20:14 +0800 Subject: [PATCH] 1 --- src/pages/territory/territory.vue | 100 +++++++++++++++++++++++++++++++++++++------------- 1 files changed, 74 insertions(+), 26 deletions(-) diff --git a/src/pages/territory/territory.vue b/src/pages/territory/territory.vue index bf31e36..74aae92 100644 --- a/src/pages/territory/territory.vue +++ b/src/pages/territory/territory.vue @@ -1,7 +1,11 @@ <template> <view class="pageBox"> <!-- 椤堕儴瀵艰埅 --> - <headNav :idIndex="idIndex" text="涓尰鍦板煙鍖昏氨" /> + <headNav + :idIndex="idIndex" + text="涓尰鍦板煙鍖昏氨" + style="z-index:999" + /> <view class="flex flex-center" style="width: 100%; margin: 0.2rem 0 0.34rem; justify-content: flex-start" @@ -14,7 +18,11 @@ :keyword="keyword" /> <ul class="flex"> - <li style="" v-for="(item, index) in dynasty" :key="item.id"> + <li + style="" + v-for="(item, index) in dynasty" + :key="item.id" + > <view @click="SchoolClick(item.id)" class="flex flex-center font-family school" @@ -42,7 +50,10 @@ border-radius: 50%; " ></view> - <view class="" style="color: #2c2c2c; font-size: 0.12rem">{{ + <view + class="" + style="color: #2c2c2c; font-size: 0.12rem" + >{{ item.name }}</view> </view> @@ -62,7 +73,10 @@ top: 2.2rem; " > - <div slot="header" class="clearfix"> + <div + slot="header" + class="clearfix" + > <span>浜虹墿 ({{ SearchArr.length }})</span> <el-button style=" @@ -73,11 +87,18 @@ " @click="isSearch = false" type="text" - >鍏抽棴</el-button - > + >鍏抽棴</el-button> </div> - <view class="" style="overflow: auto; height: 2.5rem"> - <ul class="information" v-for="(item, index) in SearchArr" :key="index"> + <view + class="" + style="overflow: auto; height: 2.5rem" + > + <ul + class="information" + v-for="(item, index) in SearchArr" + :key="index" + @click="showCard(item)" + > <li style="font-size: 0.18rem; font-weight: 700"> {{ item.name ? item.name : "-" }} </li> @@ -105,7 +126,10 @@ " :style="{ top: isTop, left: isLeft }" > - <div slot="header" class="clearfix"> + <div + slot="header" + class="clearfix" + > <span v-if="currentMark">{{ currentMark.name ? currentMark.name : "-" }}</span> @@ -118,10 +142,12 @@ " @click="isEchTrue = false" type="text" - >鍏抽棴</el-button - > + >鍏抽棴</el-button> </div> - <ul class="information" v-if="currentMark"> + <ul + class="information" + v-if="currentMark" + > <li> 濮撳悕: {{ currentMark.name ? currentMark.name : "-" }} @@ -138,11 +164,8 @@ @click="viewMoreClick" style="width: 100%; padding: 3px 0; font-size: 0.12rem; color: #597aa5" type="text" - >鏌ョ湅鏇村>></el-button - > + >鏌ョ湅鏇村>></el-button> </el-card> - <!-- echarts鍦板浘 --> - <!-- <view id="main" style="width: 100vw; position: relative"></view> --> <div id="map"></div> <!-- 鏈濅唬 --> <view @@ -377,6 +400,14 @@ this.getDataList(); }, methods: { + showCard(info) { + console.log(info); + console.log(this.markerList); + console.log(this.map); + const item = this.markerList.find((f) => f.id == info.id); + var latlng = L.latLng(item.yCoord, item.xCoord); + this.map.setView(latlng, 10); + }, getDataList() { getRetrieval({ keyword: this.keyword, dynasty: "" }).then((res) => { let markerList = []; @@ -393,30 +424,32 @@ } this.initMap(markerList); this.SearchArr = markerList.map((item) => ({ - birthAndDeath: item?.BIRTH_YEAR[0]?.content1 ? - item?.BIRTH_YEAR[0]?.content1 + "-" + item?.DEATH_YEAR[0]?.content1 :'-', + birthAndDeath: item?.BIRTH_YEAR[0]?.content1 + ? item?.BIRTH_YEAR[0]?.content1 + + "-" + + item?.DEATH_YEAR[0]?.content1 + : "-", name: item?.NAME[0]?.content1, source: "-", + id: item.id, })); - console.log(markerList, "markerList"); + this.markerList = markerList; }); }, //鍒濆鍖栧湴鍥� initMap(markerList) { var map = L.map("map", { - attributionControl: false, preferCanvas: true, - withPopup: L.latLng(34.261, 108.96), + attributionControl: false, }).setView([39.91667, 116.41667], 3); L.tileLayer .chinaProvider("TianDiTu.Normal.Map", { key: "76bc34ead7e30e663a4eded8aeaf5860", - // maxZoom: 18, - // minZoom: 5, + maxZoom: 18, + minZoom: 3, }) .addTo(map); - this.map = map; let DefaultIcon1 = L.icon({ iconUrl: this.icoName, iconSize: [24, 41], // 鍥炬爣鐨勫ぇ灏� 銆愬��1锛屽��2銆� 涓哄叿浣撲綘鑷畾涔夊浘鏍囩殑灏哄锛屾瘮濡傛垜鍥炬爣灏哄鏄�32脳52锛岃〃绀鸿鍥炬爣锛氬搴�32鍍忕礌锛岄珮搴︼細52鍍忕礌锛岄偅涔堝��1:灏辨槸32锛屽��2锛氬氨鏄�52 @@ -424,11 +457,20 @@ popupAnchor: [1, -24], // 璇ョ偣鏄浉瀵逛簬iconAnchor寮瑰嚭淇℃伅鐨勪綅缃� 杩欎釜鏄垜鎵嬪姩璋冨嚭鏉ョ殑锛屾枃妗i粯璁ゅ師濮嬪�兼槸[-1锛�-76]锛屾垜鏄幓涓�鍗婂�硷紝鍙栦竴鍗婂�艰皟鍑烘潵鐨� }); + let htmlStr = '<p><span class="map-circle-name">'; + ('</span><br><span class="map-circle-count">'); + ("</span><p/>"); + let icon = L.divIcon({ + html: "<div class='map-circle-name'></div>", + iconSize: [80, 80], + className: "map-circle", + }); + this.map = map; if (markerList.length) { for (let i = 0; i < markerList.length; i++) { const item = markerList[i]; const temp_mark = L.marker([item.yCoord, item.xCoord], { - icon: DefaultIcon1, + icon: icon, }).addTo(map); temp_mark.on("click", (e) => { this.isEchTrue = true; @@ -481,6 +523,12 @@ </script> <style> +::v-deep .map-circle-name { + width: 20px; + height: 20px; + border-radius: 50%; + background-color: #2070bc; +} .pageBox { width: 100%; height: 100%; @@ -605,6 +653,6 @@ width: 100%; margin: 0 auto; font-size: 14px !important; - z-index: -1 !important; + /* z-index: -1 !important; */ } </style> -- Gitblit v1.9.1