hookehuyr

样式和定位调整

...@@ -107,7 +107,7 @@ ...@@ -107,7 +107,7 @@
107 var spotInfo = [ 107 var spotInfo = [
108 { 108 {
109 name: '照壁', 109 name: '照壁',
110 - position: [120.587882, 31.312914], 110 + position: [120.587882, 31.312884],
111 icon: 'https://cdn.ipadbiz.cn/xys/map/%E6%AE%BF%E5%A0%82@2x.png', 111 icon: 'https://cdn.ipadbiz.cn/xys/map/%E6%AE%BF%E5%A0%82@2x.png',
112 details: [ 112 details: [
113 { 113 {
...@@ -117,6 +117,7 @@ var spotInfo = [ ...@@ -117,6 +117,7 @@ var spotInfo = [
117 }, 117 },
118 ], 118 ],
119 // zoom: { 17: 0, 18: 0, 19: 0, 20: 0 }, 119 // zoom: { 17: 0, 18: 0, 19: 0, 20: 0 },
120 + window_type: 'normal',
120 }, 121 },
121 { 122 {
122 name: '福德智慧二桥', 123 name: '福德智慧二桥',
...@@ -130,10 +131,11 @@ var spotInfo = [ ...@@ -130,10 +131,11 @@ var spotInfo = [
130 }, 131 },
131 ], 132 ],
132 // zoom: { 17: 1, 18: 1, 19: 0, 20: 0 }, 133 // zoom: { 17: 1, 18: 1, 19: 0, 20: 0 },
134 + window_type: 'normal',
133 }, 135 },
134 { 136 {
135 name: '御赐牌楼', 137 name: '御赐牌楼',
136 - position: [120.587823, 31.313296], 138 + position: [120.587823, 31.313276],
137 icon: 'https://cdn.ipadbiz.cn/xys/map/%E6%AE%BF%E5%A0%82@2x.png', 139 icon: 'https://cdn.ipadbiz.cn/xys/map/%E6%AE%BF%E5%A0%82@2x.png',
138 details: [ 140 details: [
139 { 141 {
...@@ -143,10 +145,11 @@ var spotInfo = [ ...@@ -143,10 +145,11 @@ var spotInfo = [
143 }, 145 },
144 ], 146 ],
145 // zoom: { 17: 0, 18: 0, 19: 0, 20: 0 }, 147 // zoom: { 17: 0, 18: 0, 19: 0, 20: 0 },
148 + window_type: 'normal',
146 }, 149 },
147 { 150 {
148 name: '山门殿', 151 name: '山门殿',
149 - position: [120.587811, 31.313528], 152 + position: [120.587811, 31.313508],
150 icon: 'https://cdn.ipadbiz.cn/xys/map/%E6%AE%BF%E5%A0%82@2x.png', 153 icon: 'https://cdn.ipadbiz.cn/xys/map/%E6%AE%BF%E5%A0%82@2x.png',
151 details: [ 154 details: [
152 { 155 {
...@@ -156,10 +159,11 @@ var spotInfo = [ ...@@ -156,10 +159,11 @@ var spotInfo = [
156 }, 159 },
157 ], 160 ],
158 // zoom: { 17: 1, 18: 1, 19: 1, 20: 0 }, 161 // zoom: { 17: 1, 18: 1, 19: 1, 20: 0 },
162 + window_type: 'normal',
159 }, 163 },
160 { 164 {
161 name: '钟楼', 165 name: '钟楼',
162 - position: [120.587987, 31.31413], 166 + position: [120.587985, 31.31411],
163 icon: 'https://cdn.ipadbiz.cn/xys/map/%E6%AE%BF%E5%A0%82@2x.png', 167 icon: 'https://cdn.ipadbiz.cn/xys/map/%E6%AE%BF%E5%A0%82@2x.png',
164 details: [ 168 details: [
165 { 169 {
...@@ -168,10 +172,11 @@ var spotInfo = [ ...@@ -168,10 +172,11 @@ var spotInfo = [
168 url: 'https://mp.weixin.qq.com/s/bBwxIpK8L1h7JqENxMg6dg', 172 url: 'https://mp.weixin.qq.com/s/bBwxIpK8L1h7JqENxMg6dg',
169 }, 173 },
170 ], 174 ],
175 + window_type: 'normal',
171 }, 176 },
172 { 177 {
173 name: '鼓楼', 178 name: '鼓楼',
174 - position: [120.58751, 31.314075], 179 + position: [120.5875, 31.31407],
175 icon: 'https://cdn.ipadbiz.cn/xys/map/%E6%AE%BF%E5%A0%82@2x.png', 180 icon: 'https://cdn.ipadbiz.cn/xys/map/%E6%AE%BF%E5%A0%82@2x.png',
176 details: [ 181 details: [
177 { 182 {
...@@ -180,10 +185,11 @@ var spotInfo = [ ...@@ -180,10 +185,11 @@ var spotInfo = [
180 url: 'https://mp.weixin.qq.com/s/bBwxIpK8L1h7JqENxMg6dg', 185 url: 'https://mp.weixin.qq.com/s/bBwxIpK8L1h7JqENxMg6dg',
181 }, 186 },
182 ], 187 ],
188 + window_type: 'normal',
183 }, 189 },
184 { 190 {
185 name: '天王殿', 191 name: '天王殿',
186 - position: [120.587699, 31.314548], 192 + position: [120.58769, 31.314535],
187 icon: 'https://cdn.ipadbiz.cn/xys/map/%E6%AE%BF%E5%A0%82@2x.png', 193 icon: 'https://cdn.ipadbiz.cn/xys/map/%E6%AE%BF%E5%A0%82@2x.png',
188 details: [ 194 details: [
189 { 195 {
...@@ -203,6 +209,7 @@ var spotInfo = [ ...@@ -203,6 +209,7 @@ var spotInfo = [
203 url: 'https://mp.weixin.qq.com/s/7t_jrhWGCCotx2erQNK2Mw', 209 url: 'https://mp.weixin.qq.com/s/7t_jrhWGCCotx2erQNK2Mw',
204 }, 210 },
205 ], 211 ],
212 + window_type: 'normal',
206 }, 213 },
207 { 214 {
208 name: '大雄宝殿', 215 name: '大雄宝殿',
...@@ -230,6 +237,7 @@ var spotInfo = [ ...@@ -230,6 +237,7 @@ var spotInfo = [
230 url: 'https://mp.weixin.qq.com/s/WkEwZwXa0mEPzKCBohhY2Q', 237 url: 'https://mp.weixin.qq.com/s/WkEwZwXa0mEPzKCBohhY2Q',
231 }, 238 },
232 ], 239 ],
240 + window_type: 'normal',
233 }, 241 },
234 { 242 {
235 name: '罗汉堂', 243 name: '罗汉堂',
...@@ -262,6 +270,7 @@ var spotInfo = [ ...@@ -262,6 +270,7 @@ var spotInfo = [
262 url: 'https://mp.weixin.qq.com/s/OwqYLL61YplHYPCvHdXakg', 270 url: 'https://mp.weixin.qq.com/s/OwqYLL61YplHYPCvHdXakg',
263 }, 271 },
264 ], 272 ],
273 + window_type: 'normal',
265 }, 274 },
266 { 275 {
267 name: '观音殿', 276 name: '观音殿',
...@@ -275,6 +284,7 @@ var spotInfo = [ ...@@ -275,6 +284,7 @@ var spotInfo = [
275 audio: '', 284 audio: '',
276 }, 285 },
277 ], 286 ],
287 + window_type: 'normal',
278 }, 288 },
279 { 289 {
280 name: '藏经楼', 290 name: '藏经楼',
...@@ -287,10 +297,11 @@ var spotInfo = [ ...@@ -287,10 +297,11 @@ var spotInfo = [
287 url: '', 297 url: '',
288 }, 298 },
289 ], 299 ],
300 + window_type: 'normal',
290 }, 301 },
291 { 302 {
292 name: '西花园湖心亭', 303 name: '西花园湖心亭',
293 - position: [120.586538, 31.315118], 304 + position: [120.58653, 31.315118],
294 icon: 'https://cdn.ipadbiz.cn/xys/map/%E8%8A%B1%E5%9B%AD@2x.png', 305 icon: 'https://cdn.ipadbiz.cn/xys/map/%E8%8A%B1%E5%9B%AD@2x.png',
295 details: [ 306 details: [
296 { 307 {
...@@ -299,10 +310,11 @@ var spotInfo = [ ...@@ -299,10 +310,11 @@ var spotInfo = [
299 url: 'https://www.jcedu.org/202012/17340.html', 310 url: 'https://www.jcedu.org/202012/17340.html',
300 }, 311 },
301 ], 312 ],
313 + window_type: 'normal',
302 }, 314 },
303 { 315 {
304 name: '四百岁神龟', 316 name: '四百岁神龟',
305 - position: [120.586107, 31.315011], 317 + position: [120.586157, 31.315011],
306 icon: 'https://cdn.ipadbiz.cn/xys/map/%E8%8A%B1%E5%9B%AD@2x.png', 318 icon: 'https://cdn.ipadbiz.cn/xys/map/%E8%8A%B1%E5%9B%AD@2x.png',
307 details: [ 319 details: [
308 { 320 {
...@@ -311,13 +323,14 @@ var spotInfo = [ ...@@ -311,13 +323,14 @@ var spotInfo = [
311 url: 'https://www.jcedu.org/202012/17293.html', 323 url: 'https://www.jcedu.org/202012/17293.html',
312 }, 324 },
313 ], 325 ],
326 + window_type: 'normal',
314 }, 327 },
315 ]; 328 ];
316 329
317 var toiletInfo = [ 330 var toiletInfo = [
318 { 331 {
319 name: '卫生间', 332 name: '卫生间',
320 - position: [120.587063, 31.314234], 333 + position: [120.587103, 31.314234],
321 icon: 'https://cdn.ipadbiz.cn/xys/map/%E5%8E%95%E6%89%80@2x.png', 334 icon: 'https://cdn.ipadbiz.cn/xys/map/%E5%8E%95%E6%89%80@2x.png',
322 details: [ 335 details: [
323 { 336 {
...@@ -326,6 +339,7 @@ var toiletInfo = [ ...@@ -326,6 +339,7 @@ var toiletInfo = [
326 url: '', 339 url: '',
327 }, 340 },
328 ], 341 ],
342 + window_type: 'lite',
329 }, 343 },
330 ]; 344 ];
331 345
...@@ -341,13 +355,14 @@ var warnInfo = [ ...@@ -341,13 +355,14 @@ var warnInfo = [
341 url: '', 355 url: '',
342 }, 356 },
343 ], 357 ],
358 + window_type: 'lite',
344 }, 359 },
345 ]; 360 ];
346 361
347 var activityInfo = [ 362 var activityInfo = [
348 { 363 {
349 name: '素食馆', 364 name: '素食馆',
350 - position: [120.587152, 31.314396], 365 + position: [120.587352, 31.314496],
351 icon: 'https://cdn.ipadbiz.cn/xys/map/%E9%A4%90%E9%A5%AE@2x.png', 366 icon: 'https://cdn.ipadbiz.cn/xys/map/%E9%A4%90%E9%A5%AE@2x.png',
352 details: [ 367 details: [
353 { 368 {
...@@ -356,10 +371,11 @@ var activityInfo = [ ...@@ -356,10 +371,11 @@ var activityInfo = [
356 url: '', 371 url: '',
357 }, 372 },
358 ], 373 ],
374 + window_type: 'lite',
359 }, 375 },
360 { 376 {
361 name: '包子铺', 377 name: '包子铺',
362 - position: [120.586812, 31.314195], 378 + position: [120.586912, 31.314195],
363 icon: 'https://cdn.ipadbiz.cn/xys/map/%E8%8A%B1%E5%9B%AD@2x.png', 379 icon: 'https://cdn.ipadbiz.cn/xys/map/%E8%8A%B1%E5%9B%AD@2x.png',
364 details: [ 380 details: [
365 { 381 {
...@@ -368,10 +384,11 @@ var activityInfo = [ ...@@ -368,10 +384,11 @@ var activityInfo = [
368 url: '', 384 url: '',
369 }, 385 },
370 ], 386 ],
387 + window_type: 'lite',
371 }, 388 },
372 { 389 {
373 name: '开水房', 390 name: '开水房',
374 - position: [120.586752, 31.314069], 391 + position: [120.586812, 31.314049],
375 icon: 'https://cdn.ipadbiz.cn/xys/map/%E8%8A%B1%E5%9B%AD@2x.png', 392 icon: 'https://cdn.ipadbiz.cn/xys/map/%E8%8A%B1%E5%9B%AD@2x.png',
376 details: [ 393 details: [
377 { 394 {
...@@ -380,10 +397,11 @@ var activityInfo = [ ...@@ -380,10 +397,11 @@ var activityInfo = [
380 url: '', 397 url: '',
381 }, 398 },
382 ], 399 ],
400 + window_type: 'lite',
383 }, 401 },
384 { 402 {
385 name: '茶室', 403 name: '茶室',
386 - position: [120.5868, 31.314981], 404 + position: [120.58681, 31.314981],
387 icon: 'https://cdn.ipadbiz.cn/xys/map/%E8%8A%B1%E5%9B%AD@2x.png', 405 icon: 'https://cdn.ipadbiz.cn/xys/map/%E8%8A%B1%E5%9B%AD@2x.png',
388 details: [ 406 details: [
389 { 407 {
...@@ -392,13 +410,14 @@ var activityInfo = [ ...@@ -392,13 +410,14 @@ var activityInfo = [
392 url: '', 410 url: '',
393 }, 411 },
394 ], 412 ],
413 + window_type: 'lite',
395 }, 414 },
396 ]; 415 ];
397 416
398 const publicInfo = [ 417 const publicInfo = [
399 { 418 {
400 name: '南门', 419 name: '南门',
401 - position: [120.587788, 31.313383], 420 + position: [120.587811, 31.313508],
402 icon: 'https://cdn.ipadbiz.cn/xys/map/%E5%87%BA%E5%85%A5%E5%8F%A3@2x.png', 421 icon: 'https://cdn.ipadbiz.cn/xys/map/%E5%87%BA%E5%85%A5%E5%8F%A3@2x.png',
403 details: [ 422 details: [
404 { 423 {
...@@ -407,10 +426,11 @@ const publicInfo = [ ...@@ -407,10 +426,11 @@ const publicInfo = [
407 url: '', 426 url: '',
408 }, 427 },
409 ], 428 ],
429 + window_type: 'lite',
410 }, 430 },
411 { 431 {
412 name: '东门', 432 name: '东门',
413 - position: [120.588272, 31.31421], 433 + position: [120.588272, 31.31435],
414 icon: 'https://cdn.ipadbiz.cn/xys/map/%E5%87%BA%E5%85%A5%E5%8F%A3@2x.png', 434 icon: 'https://cdn.ipadbiz.cn/xys/map/%E5%87%BA%E5%85%A5%E5%8F%A3@2x.png',
415 details: [ 435 details: [
416 { 436 {
...@@ -419,6 +439,7 @@ const publicInfo = [ ...@@ -419,6 +439,7 @@ const publicInfo = [
419 url: '', 439 url: '',
420 }, 440 },
421 ], 441 ],
442 + window_type: 'lite',
422 }, 443 },
423 ]; 444 ];
424 445
......
...@@ -392,11 +392,11 @@ export default { ...@@ -392,11 +392,11 @@ export default {
392 } 392 }
393 } 393 }
394 394
395 -.leaflet-popup-tip-container { 395 +.leaflet-popup-tip-container { // 信息框箭头样式
396 margin-top: -1px; 396 margin-top: -1px;
397 width: 2rem; 397 width: 2rem;
398 height: 2rem; 398 height: 2rem;
399 - margin-left: -20px; 399 + margin-left: -10px;
400 overflow: hidden; 400 overflow: hidden;
401 pointer-events: none; 401 pointer-events: none;
402 } 402 }
......
...@@ -13,7 +13,7 @@ ...@@ -13,7 +13,7 @@
13 </div> 13 </div>
14 </div> 14 </div>
15 <div class="van-hairline--top" style="margin: 1rem 0;"> 15 <div class="van-hairline--top" style="margin: 1rem 0;">
16 - <div style="width: 100%; float: left; text-align: center; margin-top: 1rem;"> 16 + <div @click="goToLocation()" style="width: 100%; float: left; text-align: center; margin-top: 1rem;">
17 <van-icon name="https://cdn.ipadbiz.cn/xys/map/%E5%89%8D%E5%BE%80@2x.png" size="1.5rem" color="#FFF" 17 <van-icon name="https://cdn.ipadbiz.cn/xys/map/%E5%89%8D%E5%BE%80@2x.png" size="1.5rem" color="#FFF"
18 style="vertical-align: bottom;" />&nbsp; 18 style="vertical-align: bottom;" />&nbsp;
19 <span style="color: #AB8F57; font-size: 1.1rem;">前往</span> 19 <span style="color: #AB8F57; font-size: 1.1rem;">前往</span>
...@@ -96,6 +96,9 @@ export default { ...@@ -96,6 +96,9 @@ export default {
96 goTo(url) { 96 goTo(url) {
97 location.href = this.info.details[this.isActive].url; 97 location.href = this.info.details[this.isActive].url;
98 }, 98 },
99 + goToLocation() {
100 + this.$emit('onLocation', this.info.position)
101 + }
99 } 102 }
100 } 103 }
101 </script> 104 </script>
...@@ -241,7 +244,7 @@ export default { ...@@ -241,7 +244,7 @@ export default {
241 margin-top: -1px; 244 margin-top: -1px;
242 width: 2rem; 245 width: 2rem;
243 height: 2rem; 246 height: 2rem;
244 - margin-left: -20px; 247 + margin-left: -10px;
245 overflow: hidden; 248 overflow: hidden;
246 pointer-events: none; 249 pointer-events: none;
247 } 250 }
......
1 <!-- 1 <!--
2 * @Date: 2023-05-19 14:54:27 2 * @Date: 2023-05-19 14:54:27
3 * @LastEditors: hookehuyr hookehuyr@gmail.com 3 * @LastEditors: hookehuyr hookehuyr@gmail.com
4 - * @LastEditTime: 2023-06-26 15:10:06 4 + * @LastEditTime: 2023-06-27 11:28:41
5 * @FilePath: /map-demo/src/views/index.vue 5 * @FilePath: /map-demo/src/views/index.vue
6 * @Description: 地图主体页面 6 * @Description: 地图主体页面
7 --> 7 -->
...@@ -27,7 +27,7 @@ ...@@ -27,7 +27,7 @@
27 <van-popup v-model:show="show_nav_popup" position="bottom" duration="0" :overlay="false" 27 <van-popup v-model:show="show_nav_popup" position="bottom" duration="0" :overlay="false"
28 :style="{ padding: '1rem', bottom: '4.5rem' }"> 28 :style="{ padding: '1rem', bottom: '4.5rem' }">
29 <div style="text-align: left;"> 29 <div style="text-align: left;">
30 - <div v-for="(item, index) in navList[navName]" :key="index" @click="positionMarker(item)" 30 + <div v-for="(item, index) in navList[navName]" :key="index" @click="handleNavMarker(item)"
31 style="margin-bottom: 1rem; font-size: 1.15rem;"> 31 style="margin-bottom: 1rem; font-size: 1.15rem;">
32 <van-icon name="fire-o" color="#965f13" />&nbsp;&nbsp;<span style="color: #000;">{{ item.name }}</span> 32 <van-icon name="fire-o" color="#965f13" />&nbsp;&nbsp;<span style="color: #000;">{{ item.name }}</span>
33 </div> 33 </div>
...@@ -77,7 +77,7 @@ ...@@ -77,7 +77,7 @@
77 <InfoWindow v-show="showInfoWindow" ref="infoWindow" :info-window="infoWindow" :info="itemInfo" :rect="rect" 77 <InfoWindow v-show="showInfoWindow" ref="infoWindow" :info-window="infoWindow" :info="itemInfo" :rect="rect"
78 @onLocation="infoWindowLocation"></InfoWindow> 78 @onLocation="infoWindowLocation"></InfoWindow>
79 <InfoWindowLite v-show="showInfoWindowLite" ref="infoWindowLite" :info-window="infoWindowLite" :info="itemInfo" 79 <InfoWindowLite v-show="showInfoWindowLite" ref="infoWindowLite" :info-window="infoWindowLite" :info="itemInfo"
80 - :rect="rect"></InfoWindowLite> 80 + :rect="rect" @onLocation="infoWindowLocation"></InfoWindowLite>
81 <InfoWindowWarn v-show="showInfoWindowWarn" ref="infoWindowWarn" :info-window="infoWindowWarn" :info="itemInfo" 81 <InfoWindowWarn v-show="showInfoWindowWarn" ref="infoWindowWarn" :info-window="infoWindowWarn" :info="itemInfo"
82 :rect="rect"></InfoWindowWarn> 82 :rect="rect"></InfoWindowWarn>
83 83
...@@ -324,8 +324,9 @@ export default { ...@@ -324,8 +324,9 @@ export default {
324 }, 324 },
325 label: { 325 label: {
326 content: coord.spotInfo[i].name, 326 content: coord.spotInfo[i].name,
327 - position: 'BM', 327 + position: 'TM',
328 - offset: new AMap.Pixel(0, 10), 328 + // position: 'BM',
329 + // offset: new AMap.Pixel(0, 10),
329 minZoom: 18 330 minZoom: 18
330 } 331 }
331 }, { 332 }, {
...@@ -806,6 +807,7 @@ export default { ...@@ -806,6 +807,7 @@ export default {
806 this.show_walk_route = true; 807 this.show_walk_route = true;
807 }, 808 },
808 infoWindowLocation(position) { // 监听前往按钮回调 809 infoWindowLocation(position) { // 监听前往按钮回调
810 + // TODO: 实际获取精确定位后导航到位置
809 // // 判断是否在范围内 811 // // 判断是否在范围内
810 // if (!this.isPointInRing()) { 812 // if (!this.isPointInRing()) {
811 // this.dialog_show = true; 813 // this.dialog_show = true;
...@@ -857,6 +859,13 @@ export default { ...@@ -857,6 +859,13 @@ export default {
857 handleNavPopup() { 859 handleNavPopup() {
858 this.show_nav_popup = !this.show_nav_popup 860 this.show_nav_popup = !this.show_nav_popup
859 }, 861 },
862 + handleNavMarker (item) { // 底部列表点击跳转弹框判断
863 + if (item.window_type === 'normal') {
864 + this.positionMarker(item)
865 + } else {
866 + this.positionLiteMarker(item)
867 + }
868 + },
860 positionMarker(item) { 869 positionMarker(item) {
861 // 点击后创建自定义信息窗口 870 // 点击后创建自定义信息窗口
862 this.setInfoWindows(item) 871 this.setInfoWindows(item)
......