| @ -0,0 +1,166 @@ | |||
| <template> | |||
| <view class="Locations"> | |||
| <view class="Locations-list"> | |||
| <view class="main"> | |||
| <image | |||
| class="main-image" | |||
| src="https://img-s-msn-com.akamaized.net/tenant/amp/entityid/BB1msKSi.img" | |||
| mode="aspectFill"></image> | |||
| <view class="info"> | |||
| <view class="title"> | |||
| 陶阳里景区 | |||
| </view> | |||
| <view class="tips"> | |||
| 6个遗产点 | |||
| </view> | |||
| <view class="btn"> | |||
| <image src="/static/image/tourGuide/a.png" | |||
| mode=""></image> | |||
| <text class=""> | |||
| 语音讲解 | |||
| </text> | |||
| </view> | |||
| </view> | |||
| <view class="controls"> | |||
| <view class="f"> | |||
| <image src="/static/image/tourGuide/f.png" mode=""></image> | |||
| </view> | |||
| <view class="btn" | |||
| @click="show = !show"> | |||
| <text class=""> | |||
| {{ show ? '收起' : '展开' }} | |||
| </text> | |||
| <uv-icon | |||
| :name="show ? 'arrow-up' : 'arrow-down'" | |||
| size="30rpx"></uv-icon> | |||
| </view> | |||
| </view> | |||
| </view> | |||
| <view class="list" | |||
| v-if="show"> | |||
| <view class="main" | |||
| v-for="(item, index) in 10" | |||
| :key="index"> | |||
| <image | |||
| class="main-image" | |||
| src="https://img-s-msn-com.akamaized.net/tenant/amp/entityid/BB1msKSi.img" | |||
| mode="aspectFill"></image> | |||
| <view class="info"> | |||
| <view class="title"> | |||
| 陶阳里景区 | |||
| </view> | |||
| <view class="tips"> | |||
| 6个遗产点 | |||
| </view> | |||
| </view> | |||
| <view class="controls"> | |||
| <view class="f"> | |||
| <image src="/static/image/tourGuide/f.png" mode=""></image> | |||
| </view> | |||
| <view class="f"> | |||
| <image src="/static/image/tourGuide/a.png" mode=""></image> | |||
| </view> | |||
| </view> | |||
| </view> | |||
| </view> | |||
| </view> | |||
| </view> | |||
| </template> | |||
| <script> | |||
| export default { | |||
| data() { | |||
| return { | |||
| show : true, | |||
| } | |||
| }, | |||
| methods: { | |||
| } | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| .Locations{ | |||
| .Locations-list{ | |||
| .main{ | |||
| display: flex; | |||
| margin: 20rpx; | |||
| .main-image{ | |||
| width: 150rpx; | |||
| height: 150rpx; | |||
| border-radius: 20rpx; | |||
| } | |||
| .info{ | |||
| margin-left: 20rpx; | |||
| .title{ | |||
| font-size: 30rpx; | |||
| font-weight: 900; | |||
| } | |||
| .tips{ | |||
| font-size: 24rpx; | |||
| color: #999999; | |||
| margin-top: 10rpx; | |||
| } | |||
| } | |||
| .controls{ | |||
| margin-left: auto; | |||
| display: flex; | |||
| flex-direction: column; | |||
| justify-content: center; | |||
| align-items: center; | |||
| .f{ | |||
| image{ | |||
| width: 50rpx; | |||
| height: 50rpx; | |||
| } | |||
| } | |||
| } | |||
| .btn{ | |||
| padding: 10rpx; | |||
| font-size: 22rpx; | |||
| color: $uni-color; | |||
| border: 1rpx solid $uni-color; | |||
| background-color: #F4E4C4; | |||
| display: flex; | |||
| justify-content: center; | |||
| align-items: center; | |||
| margin-top: 10rpx; | |||
| border-radius: 15rpx; | |||
| image{ | |||
| width: 25rpx; | |||
| height: 25rpx; | |||
| } | |||
| text{ | |||
| margin: 0 10rpx; | |||
| } | |||
| } | |||
| } | |||
| .list{ | |||
| padding-left: 40rpx; | |||
| .main{ | |||
| align-items: center; | |||
| .main-image{ | |||
| width: 140rpx; | |||
| height: 140rpx; | |||
| } | |||
| .controls{ | |||
| flex-direction: row; | |||
| .f{ | |||
| margin: 30rpx; | |||
| image{ | |||
| width: 40rpx; | |||
| height: 40rpx; | |||
| } | |||
| } | |||
| } | |||
| } | |||
| } | |||
| } | |||
| } | |||
| </style> | |||
| @ -1,25 +1,136 @@ | |||
| <template> | |||
| <view class="page"> | |||
| <map | |||
| style="width: 100%;" | |||
| :layer-style='5' | |||
| :style="{height:mapheight}" | |||
| :show-location='true' | |||
| :latitude="latitude" | |||
| :longitude="longitude" | |||
| :markers="markers" | |||
| :scale="scale" | |||
| @markertap="markertap" | |||
| @callouttap='callouttap'> | |||
| </map> | |||
| <tabber select="1" /> | |||
| <view class="content"> | |||
| <locations/> | |||
| </view> | |||
| <tabber select="1"/> | |||
| </view> | |||
| </template> | |||
| <script> | |||
| import position from '@/utils/position.js' | |||
| import locations from '@/components/tourGuide/locations.vue' | |||
| export default { | |||
| components : { | |||
| locations, | |||
| }, | |||
| data() { | |||
| return { | |||
| latitude: 23.106574, //纬度 | |||
| longitude: 113.324587, //经度 | |||
| scale: 12, //缩放级别 | |||
| bottomData: false, | |||
| mapCtx: null, | |||
| markers:[ | |||
| // { //标记点A 的信息 | |||
| // iconPath: "/static/logo.png", //图标 | |||
| // id: 0, | |||
| // width: 20, //图标icon 宽度 | |||
| // height: 28 ,//图标icon 高度 | |||
| // latitude: 26.1272, | |||
| // longitude: 113.11659 | |||
| // } | |||
| ], | |||
| } | |||
| }, | |||
| onLoad() { | |||
| position.getLocation(res => { | |||
| console.log(res); | |||
| this.latitude = res.latitude | |||
| this.longitude = res.longitude | |||
| this.random() | |||
| }) | |||
| }, | |||
| computed: { | |||
| mapheight() { | |||
| let data = '' | |||
| if (this.bottomData) { | |||
| if (this.upTop) { | |||
| data = '50px' | |||
| } else { | |||
| data = '200px' | |||
| } | |||
| } else { | |||
| data = '50vh' | |||
| } | |||
| return data | |||
| }, | |||
| coverbottom() { | |||
| let data = '' | |||
| if (this.bottomData) { | |||
| data = '20rpx' | |||
| } else { | |||
| data = '100rpx' | |||
| } | |||
| return data | |||
| } | |||
| }, | |||
| onShow() { | |||
| // this.mapCtx = wx.createMapContext('map'); | |||
| // this.mapCtx && this.mapCtx.addCustomLayer({ | |||
| // layerId: '66c5a2ad2849', | |||
| // success: (res) => { | |||
| // console.log('success', res); | |||
| // }, | |||
| // fail: (e) => { | |||
| // console.log('fail', e); | |||
| // }, | |||
| // }); | |||
| }, | |||
| methods: { | |||
| //地图点击事件 | |||
| markertap(e) { | |||
| console.log("===你点击了标记点===", e) | |||
| uni.getLocation({ | |||
| success: res => { | |||
| uni.openLocation({ | |||
| latitude: this.latitude + 0.01, | |||
| longitude: this.longitude + 0.01 | |||
| }) | |||
| } | |||
| }) | |||
| }, | |||
| //地图点击事件 | |||
| callouttap(e) { | |||
| console.log('地图点击事件', e) | |||
| }, | |||
| random(){ | |||
| let list = [] | |||
| for(let i = 0;i < 10;i++){ | |||
| let a = uni.$uv.random(1, 4) | |||
| let obj = { | |||
| latitude: this.latitude + uni.$uv.random(1, 30) / 1000 * (uni.$uv.random(1, 3) - 2), | |||
| longitude: this.longitude + uni.$uv.random(1, 30) / 1000 * (uni.$uv.random(1, 3) - 2), | |||
| width: 30, //图标icon 宽度 | |||
| height: 40 ,//图标icon 高度 | |||
| iconPath: `/static/image/tourGuide/${a}.png`, //图标 | |||
| id: i, | |||
| } | |||
| list.push(obj) | |||
| } | |||
| this.markers = list | |||
| }, | |||
| } | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| .page{ | |||
| padding-bottom: 200rpx; | |||
| } | |||
| </style> | |||