离线定位、网络定位
async getLatlng() {
let getLatlngOnline = ()=>{
return new Promise((resolve, reject)=>{
uni.getLocation({
type: 'gcj02',
success: (res)=> {
resolve({lat: res.latitude, lng: res.longitude})
},
fail: (error)=> {
uni.showToast({
title: '当前位置获取失败,请检查GPS是否打开',
duration: 2000,
icon: 'none'
});
reject();
}
});
});
}
let getLatlngOffline = ()=>{
return new Promise((resolve, reject)=>{
plus.geolocation.getCurrentPosition((res)=>{
resolve({lat: res.coords.latitude, lng: res.coords.longitude});
}, (error)=>{
uni.showToast({
title: error.message,
duration: 2000,
icon: 'none'
});
reject();
});
});
}
return new Promise((resolve, reject)=>{
uni.getNetworkType({
success: async ({networkType})=>{
try{
let coord = networkType === 'none'?await getLatlngOffline():await getLatlngOnline();
resolve(coord);
}catch(_){
reject();
}
}
})
});
},