微信小程序组件里面有一个地图Demo,里面有一个推荐上车点,获取当前位置然后判断是否命中一级围栏,其中https://apis.map.qq.com/ws/tls/v1/tpp/fences官方文档并没有找到这个接口,求求大家了,有谁用过啊?
import{
uuid
}from '../../utils/util'
import{
COS_PATH,
SMART_SOLUTION_KEY,
WS_HOST
}from '../../config/appConfig'
const FIRST_FENCE = '/ws/tls/v1/tpp/fences'; // 是否命中一级围栏
Page({
data:{
location:{
latitude:40.040415,
longitude:116.273511
},
marker:COS_PATH+'/marker-station.png',
ploygon:[],
selectList:[],
selectIndex:null
},
onLoad: function(){
if(!SMART_SOLUTION_KEY){
console.error('请输入有效的key');
}
wx.getLocation({
type:'gcj02',
success:(res)=>{
const {latitude,longitude}=res;
console.log('latitude:', latitude); // 打印纬度
console.log('Longitude1:', longitude); // 打印经度
this._getRecommendStation({
latitude,
longitude
});
},
fail:err=>{
wx.showToast({
title: '获取位置失败,可能权限没有打开',
icon:'none'
})
const {latitude, longitude} = {
latitude: 40.040415,
longitude: 116.273511
};
this._getRecommendStation({
latitude,
longitude
});
}
})
},
async _getRecommendStation(location){
const{
latitude,
longitude
}=location;
const params={
reqid:uuid(),
reqtime:(new Date().getTime()/1000).toFixed(0),
key:SMART_SOLUTION_KEY,
location:latitude+','+longitude
}
try{
const res = await this._getData(WS_HOST+FIRST_FENCE,{
...params
});
console.error('测试里面会不会执行11',11);
} catch (error) {
console.error('测试里面会不会执行11',11);
wx.showToast({
title: '附近无推荐上车点',
icon: 'none'
})
this.setData({
polygon: [],
selectList: []
});
console.error(error);
}
},
_getData(url='',params={},header={}){
return new Promise((resolve,reject)=>{
wx.request({
url: url,
data:params,
method:'GET',
header:header,
success:res=>{
console.log('url:',url);
console.error("data:",res);
if(res.data&&res.data.status===0){
resolve(res.data.data);
console.error("data:",res.data.data);
}
},
fail:error=>{
reject(error);
console.error("error1",error);
}
})
})
}
})
这玩意百度一下就有了呀。。
https://lbs.qq.com/service/trace/wsapi/v1_tpp
这是腾讯地图的接口,非小程序能力。可自行在腾讯位置服务开放平台(https://lbs.qq.com/travel/)查看并接入(商用需收费)