<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>
|
|
|
|
<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)
|
|
this.markers.forEach(n => {
|
|
if(n.id == e.detail.markerId){
|
|
uni.openLocation({
|
|
latitude: n.latitude,
|
|
longitude: n.longitude,
|
|
})
|
|
}
|
|
})
|
|
},
|
|
//地图点击事件
|
|
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: 20, //图标icon 宽度
|
|
height: 28 ,//图标icon 高度
|
|
iconPath: `/static/image/tourGuide/${a}.png`, //图标
|
|
id: i,
|
|
}
|
|
list.push(obj)
|
|
}
|
|
this.markers = list
|
|
},
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style scoped lang="scss">
|
|
.page{
|
|
}
|
|
</style>
|