uniapp位置篇实用干货:
直接获取位置
1.需要在uniapp 的manifest.json中写入代码:
"permission" : {
"scope.userLocation" : {
"desc" : "医生护士上门需要地址位置信息"
}
},
"requiredPrivateInfos": ["getLocation", "chooseAddress", "chooseLocation"]
2.vue页面代码:
<template>
<view class="">
<button @click="gotoss">获取当前位置</button>
<button @click="aaaaaaa">获取当前位置</button>
</view>
</template>
<script>
export default {
data() {
return {
}
},
methods: {
gotoss() {
let that = this
wx.getLocation({
type: 'gcj02',
success: function(res) {
wx.openLocation({
latitude: res.latitude,
longitude: res.longitude,
scale: 18,
success: function(res) {
wx.chooseLocation({
success: function(res) {
console.log(res)
}
})
}
})
},
fail: function(err) {
console.log(err)
uni.showToast({
title: '获取地址失败,将导致部分功能不可用',
icon: 'none'
});
}
});
},
aaaaaaa() {
wx.getSetting({
success(res) {
console.log("vres.authSetting['scope.address']:",res.authSetting['scope.address'])
if (res.authSetting['scope.address']) {
console.log("111")
wx.chooseAddress({
success(res) {
console.log(res.userName)
console.log(res.postalCode)
console.log(res.provinceName)
console.log(res.cityName)
console.log(res.countyName)
console.log(res.detailInfo)
console.log(res.nationalCode)
console.log(res.telNumber)
}
})
} else {
if (res.authSetting['scope.address'] == false) {
console.log("222")
wx.openSetting({
success(res) {
console.log(res.authSetting)
}
})
} else {
console.log("eee")
wx.chooseAddress({
success(res) {
console.log(res.userName)
console.log(res.postalCode)
console.log(res.provinceName)
console.log(res.cityName)
console.log(res.countyName)
console.log(res.detailInfo)
console.log(res.nationalCode)
console.log(res.telNumber)
}
})
}
}
}
})
},
}
}
</script>
<style>
</style>
直接根据已有的中文地址唤起导航
ditu(address) {
uni.request({
url: 'https://restapi.amap.com/v3/geocode/geo?parameters',
method: 'GET',
data: {
key: '',
address: address
},
success: (res) => {
if (res.data.status == 1) {
console.log('高德res', res.data.geocodes[0])
let jd = res.data.geocodes[0].location.split(',')[0]
let wd = res.data.geocodes[0].location.split(',')[1]
var that = this
wx.openLocation({
latitude: parseFloat(wd),
longitude: parseFloat(jd),
name: address,
address: address,
})
}
}
})
},