Showing
4 changed files
with
489 additions
and
177 deletions
| ... | @@ -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;" /> | 34 | style="vertical-align: bottom;" /> |
| 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" /> 三宝楼</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" /> 法云堂</div> | 31 | + <van-icon name="fire-o" color="red" /> {{ item.name }} |
| 33 | - <div style="margin-bottom: 1rem; font-size: 1.15rem;"><van-icon name="fire-o" color="red" /> 罗汉堂</div> | 32 | + </div> |
| 34 | - <div style="margin-bottom: 1rem; font-size: 1.15rem;"><van-icon name="fire-o" color="red" /> 大雄宝殿</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 | } | ... | ... |
-
Please register or login to post a comment