hookehuyr

建筑景点样式调整

...@@ -12,8 +12,12 @@ declare module '@vue/runtime-core' { ...@@ -12,8 +12,12 @@ declare module '@vue/runtime-core' {
12 InfoWindow: typeof import('./src/components/InfoWindow.vue')['default'] 12 InfoWindow: typeof import('./src/components/InfoWindow.vue')['default']
13 RouterLink: typeof import('vue-router')['RouterLink'] 13 RouterLink: typeof import('vue-router')['RouterLink']
14 RouterView: typeof import('vue-router')['RouterView'] 14 RouterView: typeof import('vue-router')['RouterView']
15 + VanCol: typeof import('vant/es')['Col']
15 VanDialog: typeof import('vant/es')['Dialog'] 16 VanDialog: typeof import('vant/es')['Dialog']
16 VanIcon: typeof import('vant/es')['Icon'] 17 VanIcon: typeof import('vant/es')['Icon']
17 VanPopup: typeof import('vant/es')['Popup'] 18 VanPopup: typeof import('vant/es')['Popup']
19 + VanRow: typeof import('vant/es')['Row']
20 + VanTab: typeof import('vant/es')['Tab']
21 + VanTabs: typeof import('vant/es')['Tabs']
18 } 22 }
19 } 23 }
......
1 -var sheshi = [{ 1 +// var sheshi = [
2 - name: '停车场', 2 +// {
3 - position: [116.418563, 39.883041], 3 +// name: '停车场',
4 - icon: 'https://a.amap.com/jsapi_demos/static/resource/img/停车场.png' 4 +// position: [116.418563, 39.883041],
5 -}, { 5 +// icon: 'https://a.amap.com/jsapi_demos/static/resource/img/停车场.png',
6 - name: '洗手间', 6 +// },
7 - position: [116.415419, 39.883125], 7 +// {
8 - icon: 'https://a.amap.com/jsapi_demos/static/resource/img/洗手间.png' 8 +// name: '洗手间',
9 -}, { 9 +// position: [116.415419, 39.883125],
10 - name: '洗手间', 10 +// icon: 'https://a.amap.com/jsapi_demos/static/resource/img/洗手间.png',
11 - position: [116.410226, 39.88364], 11 +// },
12 - icon: 'https://a.amap.com/jsapi_demos/static/resource/img/洗手间.png' 12 +// {
13 -}, { 13 +// name: '洗手间',
14 - name: '洗手间', 14 +// position: [116.410226, 39.88364],
15 - position: [116.412247, 39.887258], 15 +// icon: 'https://a.amap.com/jsapi_demos/static/resource/img/洗手间.png',
16 - icon: 'https://a.amap.com/jsapi_demos/static/resource/img/洗手间.png' 16 +// },
17 -}, { 17 +// {
18 - name: '洗手间', 18 +// name: '洗手间',
19 - position: [116.412701, 39.874841], 19 +// position: [116.412247, 39.887258],
20 - icon: 'https://a.amap.com/jsapi_demos/static/resource/img/洗手间.png' 20 +// icon: 'https://a.amap.com/jsapi_demos/static/resource/img/洗手间.png',
21 -}, { 21 +// },
22 - name: '售票处', 22 +// {
23 - position: [116.412442, 39.887925], 23 +// name: '洗手间',
24 - icon: 'https://a.amap.com/jsapi_demos/static/resource/img/门票.png' 24 +// position: [116.412701, 39.874841],
25 -}, { 25 +// icon: 'https://a.amap.com/jsapi_demos/static/resource/img/洗手间.png',
26 - name: '售票处', 26 +// },
27 - position: [116.413039, 39.874522], 27 +// {
28 - icon: 'https://a.amap.com/jsapi_demos/static/resource/img/门票.png' 28 +// name: '售票处',
29 -}] 29 +// position: [116.412442, 39.887925],
30 +// icon: 'https://a.amap.com/jsapi_demos/static/resource/img/门票.png',
31 +// },
32 +// {
33 +// name: '售票处',
34 +// position: [116.413039, 39.874522],
35 +// icon: 'https://a.amap.com/jsapi_demos/static/resource/img/门票.png',
36 +// },
37 +// ];
30 38
31 -var touristSpots = [{ 39 +// var touristSpots = [
32 - name: '祈年殿', 40 +// {
33 - position: [116.412866, 39.88365], 41 +// name: '祈年殿',
34 - zIndex: 300, 42 +// position: [116.412866, 39.88365],
35 - smallIcon: 'https://a.amap.com/jsapi_demos/static/resource/img/故宫.png', 43 +// zIndex: 300,
36 - bigIcon: 'https://a.amap.com/jsapi_demos/static/resource/img/qiniandian.png', 44 +// smallIcon: 'https://a.amap.com/jsapi_demos/static/resource/img/故宫.png',
37 - size: [128, 160], 45 +// bigIcon: 'https://a.amap.com/jsapi_demos/static/resource/img/qiniandian.png',
38 - anchor: 'bottom-center', 46 +// size: [128, 160],
39 - minZoom: 19 47 +// anchor: 'bottom-center',
40 -}, { 48 +// minZoom: 19,
41 - name: '西天门', 49 +// },
42 - position: [116.405562, 39.881166], 50 +// {
43 - smallIcon: 'https://a.amap.com/jsapi_demos/static/resource/img/门.png', 51 +// name: '西天门',
44 - bigIcon: 'https://a.amap.com/jsapi_demos/static/resource/img/men.png', 52 +// position: [116.405562, 39.881166],
45 - size: [146, 144], 53 +// smallIcon: 'https://a.amap.com/jsapi_demos/static/resource/img/门.png',
46 - anchor: 'bottom-center', 54 +// bigIcon: 'https://a.amap.com/jsapi_demos/static/resource/img/men.png',
47 - minZoom: 18 55 +// size: [146, 144],
48 -}, { 56 +// anchor: 'bottom-center',
49 - name: '北天门', 57 +// minZoom: 18,
50 - position: [116.412745, 39.885776], 58 +// },
51 - smallIcon: 'https://a.amap.com/jsapi_demos/static/resource/img/门.png', 59 +// {
52 - bigIcon: 'https://a.amap.com/jsapi_demos/static/resource/img/men2.png', 60 +// name: '北天门',
53 - size: [185, 94], 61 +// position: [116.412745, 39.885776],
54 - anchor: 'bottom-center', 62 +// smallIcon: 'https://a.amap.com/jsapi_demos/static/resource/img/门.png',
55 - minZoom: 17 63 +// bigIcon: 'https://a.amap.com/jsapi_demos/static/resource/img/men2.png',
56 -}, { 64 +// size: [185, 94],
57 - name: '百花园', 65 +// anchor: 'bottom-center',
58 - position: [116.40783, 39.88212], 66 +// minZoom: 17,
59 - zIndex: 200, 67 +// },
60 - smallIcon: 'https://a.amap.com/jsapi_demos/static/resource/img/盆景02.png', 68 +// {
61 - bigIcon: 'https://a.amap.com/jsapi_demos/static/resource/img/men3.png', 69 +// name: '百花园',
62 - size: [210, 98], 70 +// position: [116.40783, 39.88212],
63 - anchor: 'bottom-center', 71 +// zIndex: 200,
64 - minZoom: 16 72 +// smallIcon: 'https://a.amap.com/jsapi_demos/static/resource/img/盆景02.png',
65 -}, { 73 +// bigIcon: 'https://a.amap.com/jsapi_demos/static/resource/img/men3.png',
66 - name: '万寿亭', 74 +// size: [210, 98],
67 - position: [116.406792, 39.8837], 75 +// anchor: 'bottom-center',
68 - smallIcon: 'https://a.amap.com/jsapi_demos/static/resource/img/景点.png', 76 +// minZoom: 16,
69 - bigIcon: 'https://a.amap.com/jsapi_demos/static/resource/img/tingzi.png', 77 +// },
70 - size: [128, 168], 78 +// {
71 - anchor: 'bottom-center', 79 +// name: '万寿亭',
72 - minZoom: 15 80 +// position: [116.406792, 39.8837],
73 -}, { 81 +// smallIcon: 'https://a.amap.com/jsapi_demos/static/resource/img/景点.png',
74 - name: '圜丘', 82 +// bigIcon: 'https://a.amap.com/jsapi_demos/static/resource/img/tingzi.png',
75 - position: [116.413219, 39.876967], 83 +// size: [128, 168],
76 - smallIcon: 'https://a.amap.com/jsapi_demos/static/resource/img/景点.png', 84 +// anchor: 'bottom-center',
77 - bigIcon: 'https://a.amap.com/jsapi_demos/static/resource/img/men4.png', 85 +// minZoom: 15,
78 - size: [148, 137], 86 +// },
79 - anchor: 'bottom-center', 87 +// {
80 - minZoom: 15 88 +// name: '圜丘',
81 -}, { 89 +// position: [116.413219, 39.876967],
82 - name: '东天门', 90 +// smallIcon: 'https://a.amap.com/jsapi_demos/static/resource/img/景点.png',
83 - position: [116.417604, 39.881557], 91 +// bigIcon: 'https://a.amap.com/jsapi_demos/static/resource/img/men4.png',
84 - smallIcon: 'https://a.amap.com/jsapi_demos/static/resource/img/门.png', 92 +// size: [148, 137],
85 - bigIcon: 'https://a.amap.com/jsapi_demos/static/resource/img/men2.png', 93 +// anchor: 'bottom-center',
86 - size: [185, 94], 94 +// minZoom: 15,
87 - anchor: 'bottom-center', 95 +// },
88 - minZoom: 15 96 +// {
89 -}]; 97 +// name: '东天门',
98 +// position: [116.417604, 39.881557],
99 +// smallIcon: 'https://a.amap.com/jsapi_demos/static/resource/img/门.png',
100 +// bigIcon: 'https://a.amap.com/jsapi_demos/static/resource/img/men2.png',
101 +// size: [185, 94],
102 +// anchor: 'bottom-center',
103 +// minZoom: 15,
104 +// },
105 +// ];
90 106
91 var spotInfo = [ 107 var spotInfo = [
92 { 108 {
93 - name: '三宝楼', 109 + name: '照壁',
94 - position: [120.587436, 31.316177], 110 + position: [120.58783, 31.313136],
95 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: [
113 + {
114 + name: '照壁',
115 + note: '完善和谐的道场是从照壁开始的。修建、落成于2005年的照壁矗立在枫桥路上塘河边,黄墙黛瓦、双龙盘绕,犹如西园的屏障,正面写着“戒幢律寺”四个大字,告诉你,一个以戒为本、以律为宗的律宗道场到了。在照壁的另一面,写着“自觉觉他”,这是原中国佛教协会副会长茗山长老的墨宝。这四个字提醒我们,佛是觉悟的意思,走进佛门、学习佛法,不仅要自己觉悟,还要帮助他人,乃至引领一切众生走向觉悟,从无尽的烦恼与痛苦中解脱出来。',
116 + url: 'https://mp.weixin.qq.com/s/foNpXIQ6LkPVI195EAL5UQ',
117 + },
118 + ],
119 + // zoom: { 17: 0, 18: 0, 19: 0, 20: 0 },
96 }, 120 },
97 { 121 {
98 - name: '法云堂', 122 + name: '福德智慧二桥',
99 - position: [120.587884, 31.3152], 123 + position: [120.588151, 31.313239],
100 icon: 'https://cdn.ipadbiz.cn/xys/map/%E6%AE%BF%E5%A0%82@2x.png', 124 icon: 'https://cdn.ipadbiz.cn/xys/map/%E6%AE%BF%E5%A0%82@2x.png',
125 + details: [
126 + {
127 + name: '福德智慧二桥',
128 + note: '完善和谐的道场是从照壁开始的。修建、落成于2005年的照壁矗立在枫桥路上塘河边,黄墙黛瓦、双龙盘绕,犹如西园的屏障,正面写着“戒幢律寺”四个大字,告诉你,一个以戒为本、以律为宗的律宗道场到了。在照壁的另一面,写着“自觉觉他”,这是原中国佛教协会副会长茗山长老的墨宝。这四个字提醒我们,佛是觉悟的意思,走进佛门、学习佛法,不仅要自己觉悟,还要帮助他人,乃至引领一切众生走向觉悟,从无尽的烦恼与痛苦中解脱出来。',
129 + url: 'https://mp.weixin.qq.com/s/foNpXIQ6LkPVI195EAL5UQ',
130 + },
131 + ],
132 + // zoom: { 17: 1, 18: 1, 19: 0, 20: 0 },
101 }, 133 },
102 { 134 {
103 - name: '罗汉堂', 135 + name: '御赐牌楼',
104 - position: [120.587581, 31.31505], 136 + position: [120.58779, 31.313379],
105 icon: 'https://cdn.ipadbiz.cn/xys/map/%E6%AE%BF%E5%A0%82@2x.png', 137 icon: 'https://cdn.ipadbiz.cn/xys/map/%E6%AE%BF%E5%A0%82@2x.png',
106 - note: `与观音殿遥相呼应的是罗汉堂,位于大雄宝殿西侧。西园寺罗汉堂为中国四大古罗汉堂之一。 138 + details: [
107 - 139 + {
108 - 西园罗汉堂创建于明末,咸丰时即倾颓于战火。现仅存第一进石拱门的圆框及左右门券石,雕刻精美,为明代遗物,历经岁月摩娑,光泽内敛。如今,我们只能从遗物的精美雕刻,遥想旧时沧桑及这一不复存在的胜迹。现有的罗汉堂,为同治、光绪年间陆续重葺。屋宇深广,共三进四十八间。整体建筑呈田字形布局,中心雕塑周围有小天井四座,给幽深曲折的殿堂提供了良好的通风和采光条件。 140 + name: '牌坊',
109 - 141 + note: '西园寺山门外的牌楼,始建于清朝光绪年间,四柱挺立,均为石质,柱下有埋头,前后有夹榫,坚固非凡。四柱隔成三门,中门高阔,左、右边门较低窄,既对称又有起伏,参差有致。上部为木枋楼,皆以单额枋上置平板枋,承斗拱托楼顶。正中置明楼,形状为单檐宫殿式顶。牌楼左右两侧为边楼,三楼楼顶戗角,翘起来高过屋脊,如展翅欲飞之势,煞是好看。西园寺山门的结构与气派,在江南亦不多见。',
110 - 从空中俯瞰,罗汉堂黛瓦覆顶,组成一个汉字的“田”字。象征在佛教里僧宝,是一切世间供养、布施、修福的无上福田,五百罗汉则是贤圣僧的代表。 142 + url: 'https://mp.weixin.qq.com/s/PgQzpKmtKzb9feuKRuJIpg',
111 - 143 + },
112 - 144 + ],
113 - 除了俯瞰的“田”字,在罗汉堂地下,还有一项隐秘而巧妙的设计——西边放生池的水源经过罗汉堂地下隐秘水道弯曲绕行,流经罗汉堂,最终汇聚到大雄宝殿露台前的香花桥下。这不仅让西园寺内基础水池串联成一片活水,更重要和巧妙地解决了罗汉堂内的湿度调节问题。因五百罗汉为泥胎雕塑,过于干燥的空气将会造成古老的泥塑造像干裂、风化、剥落等一系列问题,而地下隐暗水道的设计,则有效保证罗汉堂内的湿度能控制在一定范围内。于此,不得不叹服先人的智慧。 145 + // zoom: { 17: 0, 18: 0, 19: 0, 20: 0 },
114 - 146 + },
115 - 罗汉堂原有的建筑较为低矮,不仅光线昏暗、空气浑浊,而且年深日久,梁柱有不同程度的老旧腐化。一九九七年七月,寺院对罗汉堂进行了全面整修,历时半年。在落架大修过程中,既遵照文物修旧如旧的原则,又以创新的精神,适应形势发展的需要,大胆将罗汉堂屋顶升高六十厘米,并加了斗拱,既利于文物的保护,又极大改善了罗汉堂采光环境,使整个罗汉堂显得美观大方,吸引了众多的信众前来瞻礼,使古寺焕发出崭新的光彩,成为名副其实的吴中胜地。`, 147 + {
148 + name: '山门殿',
149 + position: [120.587801, 31.313267],
150 + icon: 'https://cdn.ipadbiz.cn/xys/map/%E6%AE%BF%E5%A0%82@2x.png',
151 + details: [
152 + {
153 + name: '山门',
154 + note: '山门殿与双桥、照壁均是在2003年至2005年新建的,自此,寺院也恢复了从正门(南门)进入的传统。',
155 + url: 'https://mp.weixin.qq.com/s/XzSqtH5RPaRSAihQGZJ8hg',
156 + },
157 + ],
158 + zoom: { 17: 1, 18: 1, 19: 0, 20: 0 },
159 + },
160 + {
161 + name: '钟楼',
162 + position: [120.588021, 31.313826],
163 + icon: 'https://cdn.ipadbiz.cn/xys/map/%E6%AE%BF%E5%A0%82@2x.png',
164 + details: [
165 + {
166 + name: '钟楼',
167 + note: '穿过山门 进入第一进院落 展现在眼前的是宽广的“菩提大道” 大道两侧绿树成荫 树下芳草碧绿青青 左右两侧的黄墙上 还有长长的宣传栏 介绍着佛教的一些基本常识 及寺院的发展情况 仔细阅读 会有意想不到的收获',
168 + url: 'https://mp.weixin.qq.com/s/bBwxIpK8L1h7JqENxMg6dg',
169 + },
170 + ],
171 + },
172 + {
173 + name: '鼓楼',
174 + position: [120.587511, 31.31378],
175 + icon: 'https://cdn.ipadbiz.cn/xys/map/%E6%AE%BF%E5%A0%82@2x.png',
176 + details: [
177 + {
178 + name: '鼓楼',
179 + note: '穿过山门 进入第一进院落 展现在眼前的是宽广的“菩提大道” 大道两侧绿树成荫 树下芳草碧绿青青 左右两侧的黄墙上 还有长长的宣传栏 介绍着佛教的一些基本常识 及寺院的发展情况 仔细阅读 会有意想不到的收获',
180 + url: 'https://mp.weixin.qq.com/s/bBwxIpK8L1h7JqENxMg6dg',
181 + },
182 + ],
183 + },
184 + {
185 + name: '天王殿',
186 + position: [120.587468, 31.314435],
187 + icon: 'https://cdn.ipadbiz.cn/xys/map/%E6%AE%BF%E5%A0%82@2x.png',
188 + details: [
189 + {
190 + name: '弥勒菩萨',
191 + note: '走过钟鼓楼,映入眼帘的是黄墙黛瓦、气势恢宏的天王殿。它坐北朝南,为重檐歇山建筑,顶势平坦,飞檐翘角,显得庄重肃穆,拱形山檐下高悬由赵朴老题写的“天王殿”匾额。',
192 + url: 'https://mp.weixin.qq.com/s/LJh_8B7JQtTxz8Chq1EJSQ',
193 + audio: 'https://file.365daoyou.cn/mimi-001_1505799708494-k3xkyzv8',
194 + },
195 + {
196 + name: '韦陀菩萨​',
197 + note: '走到天王殿后门处 与大雄宝殿相对的便是韦陀菩萨 天王殿内弥勒菩萨面向山门 以慈悲相接引众生走入佛门 韦陀菩萨面向大雄宝殿 以威严相守护伽蓝护持佛法 韦陀菩萨 头戴凤翅兜鍪(móu)盔 足穿乌云皂履 身披黄金锁子甲 手持降魔杵 现将军形象',
198 + url: 'https://mp.weixin.qq.com/s/ruG6rAb714nIrMc2IS_V_g',
199 + },
200 + {
201 + name: '四大天王​',
202 + note: '天王殿内东西两侧是四尊高大的塑像,这就是四大天王,屋顶四角也分别塑有四天王的小身立像,上下呼应,气势威武。',
203 + url: 'https://mp.weixin.qq.com/s/7t_jrhWGCCotx2erQNK2Mw',
204 + },
205 + ],
116 }, 206 },
117 { 207 {
118 name: '大雄宝殿', 208 name: '大雄宝殿',
119 position: [120.587116, 31.314809], 209 position: [120.587116, 31.314809],
120 icon: 'https://cdn.ipadbiz.cn/xys/map/%E6%AE%BF%E5%A0%82@2x.png', 210 icon: 'https://cdn.ipadbiz.cn/xys/map/%E6%AE%BF%E5%A0%82@2x.png',
121 - note: `大雄宝殿是寺院的中心建筑,兴建于清末民初时期。重檐歇山,面阔七楹,飞檐翘角,气势雄伟,风格挺秀。梁枋均施苏式彩绘,典雅富丽,绚丽夺目。 211 + details: [
122 - 212 + {
123 - 大殿二重檐下,悬“大雄宝殿”四个遒劲有力的金字,气势雄浑,据说这四个字是陆润庠所提。陆润庠是苏州历史上第五十五位,也是最后一位状元,官至一品、大学士(即宰相级别)。大雄宝殿是佛教寺院中供奉佛像的正殿,是整座寺院的核心建筑,也是僧众朝暮集中修持的地方。因释迦牟尼佛德号“大雄”,所以称大雄宝殿。为什么叫大雄?大者,是包含万有的意思;雄者,是摄伏群魔的意思。释迦牟尼佛具足圆觉智慧,能雄镇大千世界,降伏四魔(烦恼魔、阴魔、死魔、自在天魔),因此尊称佛陀为大雄。 213 + name: '大雄宝殿',
124 - 214 + note: '大雄宝殿是寺院的中心建筑,兴建于清末民初时期。重檐歇山,面阔七楹,飞檐翘角,气势雄伟,风格挺秀。梁枋均施苏式彩绘,典雅富丽,绚丽夺目。',
125 - 檐枋悬有三块匾额,中门之上为“西乾应迹”匾额。西者西方,乾者天也,西乾即是指佛教的发源地古印度,因当时地处中国的西方而得名,相应地,中国则被称为东土。应迹谓应化垂迹,即佛、菩萨应众生之机缘而将其本体示现种种身以济度众生。 215 + url: 'https://mp.weixin.qq.com/s/jpG4kmRH6LiW67EuMmc3OA',
126 - 216 + },
127 - 东门上为“焰网庄严”匾额,出处为《药师经》第二大愿:“身善能安住,焰网庄严,过于日月”,即所谓“药师如来琉璃光,焰网庄严无等伦”,形容的是东方药师佛世界;西门上为“光寿无量”匾额,是“无量寿、无量光”的意思,意指西方阿弥陀佛光寿无量。“三个匾额”与殿内供奉的“横世三佛”内外呼应。与“西乾应迹”相呼应的中间一尊佛像是释迦摩尼佛,大迦叶尊者与阿难尊者分立两侧;与“焰网庄严”相呼应的则是药师佛,位于东侧;与“光寿无量”相呼应的则是阿弥陀佛,位于西侧。几尊佛像均是香樟木雕刻,是现存不多的清时期极具代表性的大型木雕造像。三尊佛像下莲花座、金刚须弥座雕刻精美、令人叹为观止。 217 + {
128 - 218 + name: '智行菩萨​',
129 - 大殿内有三副抱柱楹联,外侧上联为“东震涌庄严,看桥通鹤市,山近虎丘,招提久占三吴胜”;下联为“西来参本意,任侠士流芳,生公说法,照澈都归五蕴空”。“鹤市”,阖闾女亡,出殡时,鹤舞于阊门,后以鹤市代指阊门。“生公说法”,是指南北朝的高僧竺道生在虎丘山上说法,最后顽石也点头赞同的典故。后有题记:“乙丑(1925)春仲,郡人许人俊谨题”。 219 + note: '西园戒幢律寺的罗汉堂,是中国四大罗汉堂之一。一进门,正中就是一尊四面千手千眼观音。 这尊金身立相的观音妙相庄严,身穿天衣,腰束飘巾,折式衣裙,犹如轻纱;头戴天冠,天冠中雕有化佛;胸前双手合十,其腰间双手置腹下作禅定印,肩上双手伸过冠顶,似托头顶放光化佛之状,其余两手持法器;身分四面,总具千手,掌心各刻一眼,以示千手千眼。',
130 - 220 + url: 'https://mp.weixin.qq.com/s/GeFu3Ux-CcI_axsdeMbqJw',
131 - 内侧有两副,内外上联为“宝相瞻大雄,象法禅机垂正觉”;下联为“劳生来小息,鱼音梵呗涤尘烦”;“余姚黄雨斋撰立,江东浦泳谨书”。 221 + },
132 - 222 + {
133 - 内中上联为“海国启琳宫,宏法利生扬正教”;下联为“灵山闻妙谛,觉迷度苦感仁王”;“弟子夏士魁长发头陀敬献,江东浦泳谨书”。 223 + name: '庄严主佛像​',
134 - 224 + note: '大雄宝殿内迎面是三尊高大的塑像:释迦如来居中,东面是药师如来,西面是阿弥陀如来。',
135 - 两副对联均作于民国三十三年(1944),其中“感仁王”三字年久剥落,1985年浦泳老先生重游西园寺,见字残缺,说“趁我有生之年,把字补好”。不久果寄来字样,重修时已把字补上,亦可告慰于浦老矣!`, 225 + url: 'https://mp.weixin.qq.com/s/oMSBDmlo2fvHs2E1AukOQA',
226 + },
227 + {
228 + name: '观音济群生​',
229 + note: '大雄宝殿后壁东有大智文殊菩萨,西有大行普贤菩萨,这是法身佛的胁侍菩萨。这两尊菩萨为香樟木涂金,典型的汉传清代式样造像,慈眉善目宁静庄严。此外,这两位菩萨和后影壁的南海观音(大悲观音菩萨)、及端坐大钟之下超拔恶道众生的大愿地藏菩萨,被尊为“悲智行愿”四大菩萨。',
230 + url: 'https://mp.weixin.qq.com/s/WkEwZwXa0mEPzKCBohhY2Q',
231 + },
232 + ],
233 + },
234 + {
235 + name: '罗汉堂',
236 + position: [120.587581, 31.31505],
237 + icon: 'https://cdn.ipadbiz.cn/xys/map/%E6%AE%BF%E5%A0%82@2x.png',
238 + details: [
239 + {
240 + name: '罗汉堂',
241 + note: '与观音殿遥相呼应的是罗汉堂,位于大雄宝殿西侧。西园寺罗汉堂为中国四大古罗汉堂之一。 西园罗汉堂创建于明末,咸丰时即倾颓于战火。现仅存第一进石拱门的圆框及左右门券石,雕刻精美,为明代遗物,历经岁月摩娑,光泽内敛。如今,我们只能从遗物的精美雕刻,遥想旧时沧桑及这一不复存在的胜迹。现有的罗汉堂,为同治、光绪年间陆续重葺。屋宇深广,共三进四十八间。整体建筑呈田字形布局,中心雕塑周围有小天井四座,给幽深曲折的殿堂提供了良好的通风和采光条件。',
242 + url: 'https://mp.weixin.qq.com/s/s5-uk-I-FDblNF4scMQHsg',
243 + },
244 + {
245 + name: '千手观音​',
246 + note: '西园戒幢律寺的罗汉堂,是中国四大罗汉堂之一。一进门,正中就是一尊四面千手千眼观音。 这尊金身立相的观音妙相庄严,身穿天衣,腰束飘巾,折式衣裙,犹如轻纱;头戴天冠,天冠中雕有化佛;胸前双手合十,其腰间双手置腹下作禅定印,肩上双手伸过冠顶,似托头顶放光化佛之状,其余两手持法器;身分四面,总具千手,掌心各刻一眼,以示千手千眼。',
247 + url: 'https://mp.weixin.qq.com/s/GeFu3Ux-CcI_axsdeMbqJw',
248 + },
249 + {
250 + name: '众圣僧',
251 + note: '罗汉堂中主要供奉的是五百罗汉。佛陀在世时已证得无学果之五百声闻弟子,这五百弟子即后世的五百罗汉。佛灭度后,以大迦叶为首的五百罗汉在王舍城结集法藏。 罗汉又称阿罗汉,是僧人精进修行,断尽一切烦恼,证得阿罗汉果位而受世间大供养的圣者。罗汉就是圣僧,所以罗汉像均现出家形像。我国从北宋以来有罗汉堂之设,一方面为僧人树立楷模,另一方面向世人展示:人人都有佛性,罗汉就是从实实在在的僧人修炼而成的。',
252 + url: 'https://mp.weixin.qq.com/s/GJGA24G-fXI_ahPodjgR4Q',
253 + },
254 + {
255 + name: '疯僧济公​',
256 + note: '罗汉堂中还有两尊特别的“罗汉”像,位于四大名山塑座南北两向。 北面是疯僧立像,他一手掮扫帚,一手拿吹火筒,貌似疯颠而不落俗套。此像原型取材于民间“疯僧扫秦”的故事:岳飞遇害后,一日秦桧到寺院烧香,一疯僧当众揭发其罪行并羞辱之。后人敬仰疯僧羞辱权奸的胆识和痛斥国贼的凛然正气,在寺庙中塑像供养之。后来人们逐渐将疯僧和济公和尚的形象融合。',
257 + url: 'https://mp.weixin.qq.com/s/OwqYLL61YplHYPCvHdXakg',
258 + },
259 + {
260 + name: '四大名山​',
261 + note: '罗汉堂的中心位置是佛教四大名山塑座,以此为中心,整个罗汉堂呈田字形布局。四大名山分别为四大菩萨成道的应化道场:普陀山为观音菩萨应化道场;五台山是文殊菩萨应化道场,骑狮子;九华山是地藏菩萨道场;峨眉山是普贤菩萨应化道场,骑白象。',
262 + url: 'https://mp.weixin.qq.com/s/hXsuEuBsBWYZEPzfnlXxSg',
263 + },
264 + ],
265 + },
266 + {
267 + name: '观音殿',
268 + position: [120.58801, 31.314724],
269 + icon: 'https://cdn.ipadbiz.cn/xys/map/%E6%AE%BF%E5%A0%82@2x.png',
270 + details: [
271 + {
272 + name: '观音殿',
273 + note: '',
274 + url: 'https://mp.weixin.qq.com/s/-b29FEPxZyE3Lu1KucmPcw',
275 + },
276 + ],
277 + },
278 + {
279 + name: '藏经楼',
280 + position: [120.587511, 31.316085],
281 + icon: 'https://cdn.ipadbiz.cn/xys/map/%E6%AE%BF%E5%A0%82@2x.png',
282 + details: [
283 + {
284 + name: '',
285 + note: '',
286 + url: '',
287 + },
288 + ],
289 + },
290 + {
291 + name: '西花园湖心亭',
292 + position: [120.586478, 31.315098],
293 + icon: 'https://cdn.ipadbiz.cn/xys/map/%E8%8A%B1%E5%9B%AD@2x.png',
294 + details: [
295 + {
296 + name: '湖心亭',
297 + note: '',
298 + url: 'https://www.jcedu.org/202012/17340.html',
299 + },
300 + ],
301 + },
302 + {
303 + name: '四百岁神龟',
304 + position: [120.585947, 31.315011],
305 + icon: 'https://cdn.ipadbiz.cn/xys/map/%E8%8A%B1%E5%9B%AD@2x.png',
306 + details: [
307 + {
308 + name: '四百岁神鼋',
309 + note: '',
310 + url: 'https://www.jcedu.org/202012/17293.html',
311 + },
312 + ],
136 }, 313 },
137 ]; 314 ];
138 315
139 var toiletInfo = [ 316 var toiletInfo = [
140 { 317 {
141 - name: '厕所', 318 + name: '卫生间',
142 - position: [120.588351, 31.31449], 319 + position: [120.587063, 31.314234],
143 icon: 'https://cdn.ipadbiz.cn/xys/map/%E5%8E%95%E6%89%80@2x.png', 320 icon: 'https://cdn.ipadbiz.cn/xys/map/%E5%8E%95%E6%89%80@2x.png',
321 + details: [
322 + {
323 + name: '',
324 + note: '',
325 + url: '',
326 + },
327 + ],
144 }, 328 },
145 ]; 329 ];
146 330
147 var activityInfo = [ 331 var activityInfo = [
148 { 332 {
149 - name: '西花园湖心亭', 333 + name: '素食馆',
150 - position: [120.586478, 31.315098], 334 + position: [120.587152, 31.314396],
335 + icon: 'https://cdn.ipadbiz.cn/xys/map/%E9%A4%90%E9%A5%AE@2x.png',
336 + details: [
337 + {
338 + name: '',
339 + note: '',
340 + url: '',
341 + },
342 + ],
343 + },
344 + {
345 + name: '包子铺',
346 + position: [120.586812, 31.314195],
151 icon: 'https://cdn.ipadbiz.cn/xys/map/%E8%8A%B1%E5%9B%AD@2x.png', 347 icon: 'https://cdn.ipadbiz.cn/xys/map/%E8%8A%B1%E5%9B%AD@2x.png',
348 + details: [
349 + {
350 + name: '',
351 + note: '',
352 + url: '',
353 + },
354 + ],
152 }, 355 },
153 { 356 {
154 - name: '四百岁神龟', 357 + name: '开水房',
155 - position: [120.585947, 31.315011], 358 + position: [120.586752, 31.314069],
359 + icon: 'https://cdn.ipadbiz.cn/xys/map/%E8%8A%B1%E5%9B%AD@2x.png',
360 + details: [
361 + {
362 + name: '',
363 + note: '',
364 + url: '',
365 + },
366 + ],
367 + },
368 + {
369 + name: '茶室',
370 + position: [120.5868, 31.314981],
156 icon: 'https://cdn.ipadbiz.cn/xys/map/%E8%8A%B1%E5%9B%AD@2x.png', 371 icon: 'https://cdn.ipadbiz.cn/xys/map/%E8%8A%B1%E5%9B%AD@2x.png',
372 + details: [
373 + {
374 + name: '',
375 + note: '',
376 + url: '',
377 + },
378 + ],
157 }, 379 },
158 ]; 380 ];
159 381
160 const publicInfo = [ 382 const publicInfo = [
161 { 383 {
162 - name: '出入口', 384 + name: '南门',
163 position: [120.587788, 31.313383], 385 position: [120.587788, 31.313383],
164 icon: 'https://cdn.ipadbiz.cn/xys/map/%E5%87%BA%E5%85%A5%E5%8F%A3@2x.png', 386 icon: 'https://cdn.ipadbiz.cn/xys/map/%E5%87%BA%E5%85%A5%E5%8F%A3@2x.png',
387 + details: [
388 + {
389 + name: '',
390 + note: '',
391 + url: '',
392 + },
393 + ],
165 }, 394 },
166 { 395 {
167 - name: '素食', 396 + name: '东门',
168 - position: [120.587152, 31.314396], 397 + position: [120.588272, 31.31421],
169 - icon: 'https://cdn.ipadbiz.cn/xys/map/%E9%A4%90%E9%A5%AE@2x.png', 398 + icon: 'https://cdn.ipadbiz.cn/xys/map/%E5%87%BA%E5%85%A5%E5%8F%A3@2x.png',
399 + details: [
400 + {
401 + name: '',
402 + note: '',
403 + url: '',
404 + },
405 + ],
170 }, 406 },
171 ]; 407 ];
172 408
173 export default { 409 export default {
174 - sheshi, 410 + // sheshi,
175 - touristSpots, 411 + // touristSpots,
176 spotInfo, 412 spotInfo,
177 toiletInfo, 413 toiletInfo,
178 activityInfo, 414 activityInfo,
......
...@@ -2,16 +2,19 @@ ...@@ -2,16 +2,19 @@
2 <div style="position: relative;"> 2 <div style="position: relative;">
3 <div class="info-window-wrapper"> 3 <div class="info-window-wrapper">
4 <div :style="{ width: (widow_info.width * 0.8) + 'px', overflow: 'auto' }"> 4 <div :style="{ width: (widow_info.width * 0.8) + 'px', overflow: 'auto' }">
5 - <div style="color: #AB8F57; font-size: 1.5rem; margin-bottom: 0.5rem;">三宝楼</div> 5 + <div class="hideScrollBar info-window-title">
6 - <div> 6 + <div v-for="(item, index) in info.details" :key="index" @click="handleTitle(index)"
7 - <div class="info-text van-multi-ellipsis--l3"> 7 + :class="[isActive === index ? 'checked' : '', 'item']">
8 - 大雄宝殿是寺院的中心建筑,兴建于清末民初时期。重檐歇山,面阔七楹,飞檐翘角,气势雄伟,风格挺秀。梁枋均施苏式彩绘,典雅富丽,绚丽夺目。 8 + <span>{{ item.name }}</span>
9 - 9 + </div>
10 - 大殿二重檐下,悬“大雄宝殿”四个遒劲有力的金字,气势雄浑,据说这四个字是陆润庠所提。陆润庠是苏州历史上第五十五位,也是最后一位状元,官至一品、大学士(即宰相级别)。大雄宝殿是佛教寺院中供奉佛像的正殿,是整座寺院的核心建筑,也是僧众朝暮集中修持的地方。因释迦牟尼佛德号“大雄”,所以称大雄宝殿。为什么叫大雄?大者,是包含万有的意思;雄者,是摄伏群魔的意思。释迦牟尼佛具足圆觉智慧,能雄镇大千世界,降伏四魔(烦恼魔、阴魔、死魔、自在天魔),因此尊称佛陀为大雄。 10 + </div>
11 - 11 + <div v-if="info?.details?.length > 3" @click="handleNavScroll()" style="position: fixed; right: 0.75rem; width: 1rem; background-color: #FFF;top: 1.5rem;">
12 - 檐枋悬有三块匾额,中门之上为“西乾应迹”匾额。西者西方,乾者天也,西乾即是指佛教的发源地古印度,因当时地处中国的西方而得名,相应地,中国则被称为东土。应迹谓应化垂迹,即佛、菩萨应众生之机缘而将其本体示现种种身以济度众生。 12 + <van-icon v-if="!nav_scroll" name="arrow" color="#888" size="1.25rem" style="vertical-align: sub;" />
13 + <van-icon v-else name="arrow-left" color="#888" size="1.25rem" style="vertical-align: sub;" />
13 </div> 14 </div>
14 - <div class="info-control"> 15 + <div v-for="(item, index) in info.details" :key="index">
16 + <div v-if="isActive === index" :class=" [item.audio ? 'info-text-audio' : 'info-text', 'van-multi-ellipsis--l3'] ">{{ item.note }}</div>
17 + <div v-if="isActive === index && item.audio" class="info-control">
15 <div v-if="!is_play" @click="play()" class="control-play"> 18 <div v-if="!is_play" @click="play()" class="control-play">
16 <van-icon name="https://cdn.ipadbiz.cn/xys/map/%E6%92%AD%E6%94%BE%E6%9A%82%E5%81%9C@2x.png" size="3rem" 19 <van-icon name="https://cdn.ipadbiz.cn/xys/map/%E6%92%AD%E6%94%BE%E6%9A%82%E5%81%9C@2x.png" size="3rem"
17 color="#FFF" style="margin-top: 0.5rem;" /> 20 color="#FFF" style="margin-top: 0.5rem;" />
...@@ -25,7 +28,8 @@ ...@@ -25,7 +28,8 @@
25 </div> 28 </div>
26 </div> 29 </div>
27 <div class="van-hairline--top" style="margin: 1rem 0;"> 30 <div class="van-hairline--top" style="margin: 1rem 0;">
28 - <div style="width: 50%; float: left; text-align: center; margin-top: 1rem;" class="van-hairline--right"> 31 + <div @click="goTo()" style="width: 50%; float: left; text-align: center; margin-top: 1rem;"
32 + class="van-hairline--right">
29 <van-icon name="https://cdn.ipadbiz.cn/xys/map/%E5%89%8D%E5%BE%80@2x.png" size="1.5rem" color="#FFF" 33 <van-icon name="https://cdn.ipadbiz.cn/xys/map/%E5%89%8D%E5%BE%80@2x.png" size="1.5rem" color="#FFF"
30 style="vertical-align: bottom;" />&nbsp; 34 style="vertical-align: bottom;" />&nbsp;
31 <span style="color: #AB8F57; font-size: 1.1rem;">详情</span> 35 <span style="color: #AB8F57; font-size: 1.1rem;">详情</span>
...@@ -59,6 +63,7 @@ ...@@ -59,6 +63,7 @@
59 </template> 63 </template>
60 64
61 <script> 65 <script>
66 +import $ from 'jquery'
62 67
63 export default { 68 export default {
64 props: { 69 props: {
...@@ -66,9 +71,9 @@ export default { ...@@ -66,9 +71,9 @@ export default {
66 type: Object, 71 type: Object,
67 default: () => { } 72 default: () => { }
68 }, 73 },
69 - title: { 74 + info: {
70 - type: String, 75 + type: Object,
71 - default: '' 76 + default: () => { }
72 }, 77 },
73 rect: { 78 rect: {
74 type: Object, 79 type: Object,
...@@ -76,7 +81,6 @@ export default { ...@@ -76,7 +81,6 @@ export default {
76 }, 81 },
77 }, 82 },
78 mounted() { 83 mounted() {
79 -
80 }, 84 },
81 watch: { 85 watch: {
82 rect(val) { 86 rect(val) {
...@@ -85,7 +89,7 @@ export default { ...@@ -85,7 +89,7 @@ export default {
85 infoWindow(val) { 89 infoWindow(val) {
86 if (val) { 90 if (val) {
87 // 加载录音 91 // 加载录音
88 - this.audio.src = 'https://file.365daoyou.cn/mimi-001_1505799708494-k3xkyzv8'; 92 + this.audio.src = this.info.details[this.isActive]['audio'];
89 let play_status = this.audio.play() // 播放 93 let play_status = this.audio.play() // 播放
90 if (play_status) { 94 if (play_status) {
91 play_status.then(() => { 95 play_status.then(() => {
...@@ -110,11 +114,13 @@ export default { ...@@ -110,11 +114,13 @@ export default {
110 is_play: false, 114 is_play: false,
111 audio: new Audio(), 115 audio: new Audio(),
112 widow_info: {}, 116 widow_info: {},
113 - play_time: '00:00' 117 + play_time: '00:00',
118 + isActive: 0,
119 + nav_scroll: false,
114 } 120 }
115 }, 121 },
116 methods: { 122 methods: {
117 - getAudioTime (audio) { 123 + getAudioTime(audio) {
118 let time = Math.floor(audio); 124 let time = Math.floor(audio);
119 var minute = time / 60; 125 var minute = time / 60;
120 var minutes = parseInt(minute); 126 var minutes = parseInt(minute);
...@@ -145,6 +151,10 @@ export default { ...@@ -145,6 +151,10 @@ export default {
145 // 处理音频 151 // 处理音频
146 this.voice_pause(); 152 this.voice_pause();
147 this.audio.currentTime = 0 153 this.audio.currentTime = 0
154 + // 默认选中项
155 + this.isActive = 0;
156 + // 滚动状态
157 + this.nav_scroll = false;
148 }, 158 },
149 showDetail() { 159 showDetail() {
150 this.show_popup = true; 160 this.show_popup = true;
...@@ -153,7 +163,7 @@ export default { ...@@ -153,7 +163,7 @@ export default {
153 this.video_src = 'https://video.pearvideo.com/mp4/short/20200209/cont-1650197-14888002-hd.mp4' 163 this.video_src = 'https://video.pearvideo.com/mp4/short/20200209/cont-1650197-14888002-hd.mp4'
154 }, 164 },
155 play() { 165 play() {
156 - this.voice_play('https://file.365daoyou.cn/mimi-001_1505799708494-k3xkyzv8', 0) 166 + this.voice_play(this.info.details[this.isActive]['audio'], 0)
157 }, 167 },
158 pause() { 168 pause() {
159 this.voice_pause() 169 this.voice_pause()
...@@ -189,6 +199,33 @@ export default { ...@@ -189,6 +199,33 @@ export default {
189 voice_pause() { 199 voice_pause() {
190 this.audio.pause(); 200 this.audio.pause();
191 this.is_play = false; 201 this.is_play = false;
202 + },
203 + goTo(url) {
204 + location.href = this.info.details[this.isActive].url;
205 + },
206 + handleTitle (index) {
207 + this.isActive = index;
208 + this.voice_pause()
209 + // 标题滚动
210 + if (index === 2 && this.info.details.length > 3) {
211 + this.handleNavScroll()
212 + }
213 + },
214 + handleNavScroll () { // 滚动标题
215 + this.nav_scroll = !this.nav_scroll;
216 + if (this.nav_scroll) {
217 + setTimeout(() => {
218 + $('.info-window-title').animate({
219 + scrollLeft: $('.info-window-title').outerWidth()
220 + }, 1000);
221 + }, 100);
222 + } else {
223 + setTimeout(() => {
224 + $('.info-window-title').animate({
225 + scrollLeft: 0
226 + }, 1000);
227 + }, 100);
228 + }
192 } 229 }
193 } 230 }
194 } 231 }
...@@ -202,10 +239,16 @@ export default { ...@@ -202,10 +239,16 @@ export default {
202 box-shadow: 0 3px 14px rgba(0, 0, 0, 0.4); 239 box-shadow: 0 3px 14px rgba(0, 0, 0, 0.4);
203 text-align: left; 240 text-align: left;
204 border-radius: 5px; 241 border-radius: 5px;
205 - padding: 1rem 1.25rem; 242 + padding: 1.5rem 1.25rem;
206 overflow: auto; 243 overflow: auto;
207 244
208 .info-text { 245 .info-text {
246 + width: 100%;
247 + line-height: 1.5;
248 + float: left;
249 + color: #7A6C6C;
250 + }
251 + .info-text-audio {
209 width: 80%; 252 width: 80%;
210 line-height: 1.5; 253 line-height: 1.5;
211 float: left; 254 float: left;
...@@ -318,4 +361,29 @@ export default { ...@@ -318,4 +361,29 @@ export default {
318 background-size: 1rem 1rem; 361 background-size: 1rem 1rem;
319 box-shadow: none; 362 box-shadow: none;
320 } 363 }
364 +
365 +.info-window-title {
366 + display: flex;
367 + overflow-x: scroll;
368 + overflow-y: hidden;
369 + -webkit-overflow-scrolling: touch;
370 + position: relative;
371 + text-align: left;
372 +
373 + .item {
374 + width: 33.333%;
375 + flex-shrink: 0;
376 + color: #888;
377 + font-size: 1.2rem;
378 + margin-bottom: 0.75rem;
379 + display: inline-block;
380 + }
381 +
382 + .checked {
383 + color: #AB8F57;
384 + span {
385 + border-bottom: 1.5px solid #AB8F57; padding-bottom: 3px;
386 + }
387 + }
388 +}
321 </style> 389 </style>
......
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-05 11:38:09 4 + * @LastEditTime: 2023-06-05 16:47:36
5 * @FilePath: /map-demo/src/views/index.vue 5 * @FilePath: /map-demo/src/views/index.vue
6 * @Description: 文件描述 6 * @Description: 文件描述
7 --> 7 -->
...@@ -9,8 +9,7 @@ ...@@ -9,8 +9,7 @@
9 <div ref="root" style="height: 100vh; position: relative; overflow: hidden;"> 9 <div ref="root" style="height: 100vh; position: relative; overflow: hidden;">
10 <div id="container"></div> 10 <div id="container"></div>
11 <div class="nav-bar-wrapper"> 11 <div class="nav-bar-wrapper">
12 - <div class="hideScrollBar" 12 + <div class="hideScrollBar" style="display: flex; overflow-x: scroll; overflow-y: hidden; -webkit-overflow-scrolling: touch; position: relative;">
13 - style="display: flex; overflow-x: scroll; overflow-y: hidden; -webkit-overflow-scrolling: touch; position: relative;">
14 <div v-for="(item, index) in navBarList" :key="index" style="width: 30%; flex-shrink: 0; padding-top: 1rem;" :class="[isActive === index ? 'checked' : '', 'item']" 13 <div v-for="(item, index) in navBarList" :key="index" style="width: 30%; flex-shrink: 0; padding-top: 1rem;" :class="[isActive === index ? 'checked' : '', 'item']"
15 @click="setNavLayer(item, index)"> 14 @click="setNavLayer(item, index)">
16 <van-icon name="shop-o" size="1.5rem" /><br /> 15 <van-icon name="shop-o" size="1.5rem" /><br />
...@@ -28,10 +27,9 @@ ...@@ -28,10 +27,9 @@
28 <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"
29 :style="{ padding: '1rem', bottom: '4.5rem' }"> 28 :style="{ padding: '1rem', bottom: '4.5rem' }">
30 <div style="text-align: left;"> 29 <div style="text-align: left;">
31 - <div @click="positionMarker()" style="margin-bottom: 1rem; font-size: 1.15rem;"><van-icon name="fire-o" color="red" />&nbsp;&nbsp;三宝楼</div> 30 + <div v-for="(item, index) in navList[navName]" :key="index" @click="positionMarker(item)" style="margin-bottom: 1rem; font-size: 1.15rem;">
32 - <div style="margin-bottom: 1rem; font-size: 1.15rem;"><van-icon name="fire-o" color="red" />&nbsp;&nbsp;法云堂</div> 31 + <van-icon name="fire-o" color="red" />&nbsp;&nbsp;{{ item.name }}
33 - <div style="margin-bottom: 1rem; font-size: 1.15rem;"><van-icon name="fire-o" color="red" />&nbsp;&nbsp;罗汉堂</div> 32 + </div>
34 - <div style="margin-bottom: 1rem; font-size: 1.15rem;"><van-icon name="fire-o" color="red" />&nbsp;&nbsp;大雄宝殿</div>
35 </div> 33 </div>
36 </van-popup> 34 </van-popup>
37 </div> 35 </div>
...@@ -92,7 +90,7 @@ ...@@ -92,7 +90,7 @@
92 90
93 <!-- 自定义组件InfoWindow,初始时需要隐藏 --> 91 <!-- 自定义组件InfoWindow,初始时需要隐藏 -->
94 <!-- 隐藏不要使用v-if,因为我们需要渲染完成后的原生html结构作为信息框的dom对象使用 --> 92 <!-- 隐藏不要使用v-if,因为我们需要渲染完成后的原生html结构作为信息框的dom对象使用 -->
95 - <InfoWindow v-show="showInfoWindow" ref="infoWindow" :info-window="infoWindow" :title="infoWindowTitle" :rect="rect"></InfoWindow> 93 + <InfoWindow v-show="showInfoWindow" ref="infoWindow" :info-window="infoWindow" :info="itemInfo" :rect="rect"></InfoWindow>
96 </div> 94 </div>
97 </template> 95 </template>
98 96
...@@ -215,21 +213,23 @@ export default { ...@@ -215,21 +213,23 @@ export default {
215 show_nav_popup: false, 213 show_nav_popup: false,
216 showInfoWindow: false, 214 showInfoWindow: false,
217 infoWindow: {}, 215 infoWindow: {},
218 - infoWindowTitle: '', 216 + itemInfo: '',
219 navBarList: [], 217 navBarList: [],
220 - rect: {} 218 + rect: {},
219 + navList: [],
220 + navName: 'spotInfo'
221 } 221 }
222 }, 222 },
223 mounted() { 223 mounted() {
224 this.navBarList = [{ 224 this.navBarList = [{
225 key: 'spot', 225 key: 'spot',
226 - name: '景区信息' 226 + name: '景'
227 }, { 227 }, {
228 key: 'activity', 228 key: 'activity',
229 - name: '活动设施' 229 + name: '餐饮'
230 }, { 230 }, {
231 key: 'public', 231 key: 'public',
232 - name: '公共设施' 232 + name: '出入口'
233 }, { 233 }, {
234 key: 'toilet', 234 key: 'toilet',
235 name: '卫生间' 235 name: '卫生间'
...@@ -244,6 +244,7 @@ export default { ...@@ -244,6 +244,7 @@ export default {
244 this.getLocation() 244 this.getLocation()
245 // 打开贴片地图 245 // 打开贴片地图
246 this.setTitleLayer() 246 this.setTitleLayer()
247 + this.navList = coord;
247 }, 248 },
248 watch: { 249 watch: {
249 show_popup(val) { 250 show_popup(val) {
...@@ -459,23 +460,22 @@ export default { ...@@ -459,23 +460,22 @@ export default {
459 }, 460 },
460 label: { 461 label: {
461 content: coord.spotInfo[i].name, 462 content: coord.spotInfo[i].name,
462 - position: 'TM', 463 + position: 'BM',
464 + offset: new AMap.Pixel(0, 10),
463 minZoom: 18 465 minZoom: 18
464 } 466 }
467 + }, {
468 + icon: {},
469 + label: {}
465 }], 470 }],
466 - zoomStyleMapping 471 + zoomStyleMapping: coord.spotInfo[i].zoom ? coord.spotInfo[i].zoom : zoomStyleMapping
467 }); 472 });
468 if (clickListener) { 473 if (clickListener) {
469 marker.off('click', clickListener) 474 marker.off('click', clickListener)
470 } 475 }
471 // 绑定景点的点击事件 - 文字出现才能触发 476 // 绑定景点的点击事件 - 文字出现才能触发
472 var clickListener = marker.on('click', (e) => { 477 var clickListener = marker.on('click', (e) => {
473 - // this.show_popup = true; 478 + this.positionMarker(coord.spotInfo[i]);
474 - // this.popup_title = x.name;
475 - // this.popup_content = x.note;
476 - // this.video_src = 'https://video.pearvideo.com/mp4/short/20200209/cont-1650197-14888002-hd.mp4'
477 - // this.positionMarker(coord.spotInfo[i].position);
478 - this.positionMarker([120.587519, 31.315924]);
479 }) 479 })
480 // 480 //
481 this.spotInfo.push(marker); 481 this.spotInfo.push(marker);
...@@ -899,15 +899,19 @@ export default { ...@@ -899,15 +899,19 @@ export default {
899 setNavLayer({ key }, index) { // 选择地图图层显示 899 setNavLayer({ key }, index) { // 选择地图图层显示
900 this.isActive = index; 900 this.isActive = index;
901 if (key === 'spot') { 901 if (key === 'spot') {
902 + this.navName = 'spotInfo'
902 this.setSpotLayer() 903 this.setSpotLayer()
903 } 904 }
904 if (key === 'toilet') { 905 if (key === 'toilet') {
906 + this.navName = 'toiletInfo'
905 this.setToiletLayer() 907 this.setToiletLayer()
906 } 908 }
907 if (key === 'activity') { 909 if (key === 'activity') {
910 + this.navName = 'activityInfo'
908 this.setActivityLayer() 911 this.setActivityLayer()
909 } 912 }
910 if (key === 'public') { 913 if (key === 'public') {
914 + this.navName = 'publicInfo'
911 this.setPublicLayer() 915 this.setPublicLayer()
912 } 916 }
913 }, 917 },
...@@ -923,11 +927,11 @@ export default { ...@@ -923,11 +927,11 @@ export default {
923 handleNavPopup() { 927 handleNavPopup() {
924 this.show_nav_popup = !this.show_nav_popup 928 this.show_nav_popup = !this.show_nav_popup
925 }, 929 },
926 - positionMarker(position = [120.587519, 31.315924]) { 930 + positionMarker(item) {
927 // 点击后创建自定义信息窗口 931 // 点击后创建自定义信息窗口
928 - this.setInfoWindows(position) 932 + this.setInfoWindows(item)
929 // 把地图中心点设置为当前点击的标记点 933 // 把地图中心点设置为当前点击的标记点
930 - this.map.setZoomAndCenter(this.zoom, position); 934 + this.map.setZoomAndCenter(this.zoom, item.position);
931 // 935 //
932 this.show_nav_popup = false; 936 this.show_nav_popup = false;
933 // 禁止缩放 937 // 禁止缩放
...@@ -935,7 +939,7 @@ export default { ...@@ -935,7 +939,7 @@ export default {
935 zoomEnable: false 939 zoomEnable: false
936 }); 940 });
937 }, 941 },
938 - setInfoWindows(position) { 942 + setInfoWindows(item) {
939 // 此时需要把组件的样式设置为可见 943 // 此时需要把组件的样式设置为可见
940 this.showInfoWindow = true 944 this.showInfoWindow = true
941 // 设置marker头部的标题信息窗口 945 // 设置marker头部的标题信息窗口
...@@ -948,9 +952,9 @@ export default { ...@@ -948,9 +952,9 @@ export default {
948 offset: new AMap.Pixel(0, -30), 952 offset: new AMap.Pixel(0, -30),
949 }) 953 })
950 this.infoWindow = infoWindow; 954 this.infoWindow = infoWindow;
951 - this.infoWindowTitle = 'xxxx' 955 + this.itemInfo = item
952 // 信息窗口打开 956 // 信息窗口打开
953 - infoWindow.open(this.map, position) 957 + infoWindow.open(this.map, item.position)
954 } 958 }
955 959
956 } 960 }
......