简介
定位选点适用于大多位置服务的业务,腾讯官方提供的定位选点功能利用官方插件即可完成,比较方便
准备
1.进入微信公众平台》设置》第三方设置》插件管理》添加插件
2.点击插件详情,分别查看插件的AppID
3.打开uniapp项目的配置文件manifest.json,选择“源码视图”,添加在plugins的对象中:
/* 小程序特有相关 */
"mp-weixin" : {
"appid" : " ",
"setting" : {
"urlCheck" : false,
"postcss" : false,
"minified" : true,
"es6" : true
},
"usingComponents" : true,
"plugins" : {
// 微信同声传译
"WechatSI" : {
"version" : "0.3.5",
"provider" : "wx069ba97219f66d99" //插件的appid
},
// 腾讯位置服务城市选择器
"citySelector" : {
"version" : "1.0.2",
"provider" : "wx63ffb7b7894e99ae" //插件的appid
},
// 腾讯位置服务地图选点
"chooseLocation" : {
"version" : "1.0.10",
"provider" : "wx76a9a06e5b4e693e" //插件的appid
}
},
"permission" : {
"scope.userLocation" : {
"desc" : "将获取你的具体位置信息,用于小程序位置接口的效果展示"
}
},
"requiredPrivateInfos" : [ "getLocation" ],
"lazyCodeLoading" : "requiredComponents"
},
开发
文件头部引入:
const chooseLocation = requirePlugin('chooseLocation');
methods:{
chooseLocations() {
const key = ' '; //使用在腾讯位置服务申请的key
const referer = ' '; //调用插件的app的名称,这个根据自己项目来写
const location = JSON.stringify({
latitude: uni.getStorageSync('lat'),
longitude: uni.getStorageSync('lon')
});
const category = '汽车'; //关键字推荐
wx.navigateTo({
url: 'plugin://chooseLocation/index?key=' + key + '&referer=' + referer + '&location=' + location + '&category=' + category
});
},
}
onShow:{
const location = chooseLocation.getLocation(); // 如果点击确认选点按钮,则返回选点结果对象,否则返回null
console.log(location, 'location'); //打印结果图在下面
if (location) {
this.city = location.city + ' ' + location.district + ' ' + location.name;
//此处可以获取到选择的地点的详细信息
}
}
*如果需要刷新页面或其他一些其他业务把定位地点重置回当前定位,就需要在逻辑代码中加入:
chooseLocation.setLocation(null);