首先你要去配置一下你的app.json
"permission": {
"scope.userLocation": {
"desc": "获取你的位置信息...."
}
}
然后开始写逻辑
<template>
<view class="content">
<!-- -->
<view class="hospital-map">
<view>
<text>当前位置地址信息:</text>
<view v-show="addressName">{{addressName}}</view>
</view>
</view>
<view class="btn-list">
<button type="primary" @tap="getRegeo">获取当前地址信息</button>
</view>
</view>
</template>
<script>
import amap from '../../common/amap-wx.js';
export default {
data() {
return {
hasLocation: false,
location: {},
amapPlugin: null,
key: '5f5e31709e6f485c899718196725173d',
addressName: ''
}
},
onLoad() {
this.amapPlugin = new amap.AMapWX({
key: this.key
});
},
methods: {
getRegeo() {
uni.showLoading({
title: '获取信息中'
});
this.amapPlugin.getRegeo({
success: (data) => {
this.addressName = data[0].name;
uni.hideLoading();
}
});
},
}
}
</script>
到这里基本就结束了,如果你试了以后页面报错(很正常,文档就是这么坑),不要慌,继续往下看
- 检查一下 pages.json里面是否写了定位配置
不明白的同学可以看一下小程序的要求
`"permission": {
"scope.userLocation": {
"desc": "你的位置信息将用于小程序位置接口的效果展示" // 高速公路行驶持续后台定位
}
},`
- 检查一下manifest.json的配置,看看是否勾选定位的选项
到这里就差不多了
本人刚刚接触uni-app 可能还存在别的情况,导致定位服务无法使用,欢迎大佬指正