uni-app网络、离线定位获取经纬度的方法如下所示:async getLatlng() { let getLatlngOnline = ()=>{ return new Promise((resolve, reject)=>{ uni.getLocation({ type: 'cz001', success: (res)=> { resolve({lat: res.latitude, lng: res.longitude}) }, fail: (error)=> { uni.showToast({ title: '当前位置获取失败,请检查是否打开GPS', duration: 3000, icon: 'icon' }); 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: 3000, icon: 'icon' }); reject(); }); }); } return new Promise((resolve, reject)=>{ uni.getNetworkType({ success: async ({networkType})=>{ try{ let coord = networkType === 'none'?await getLatlngOffline():await getLatlngOnline(); resolve(coord); }catch(_){ reject(); } } }) }); },已参与了 SegmentFault 思否社区 10 周年「问答」打卡 ,欢迎正在阅读的你也加入。
本质还是需要有定位服务权限后,调用接口获取信息,只不过此时信息可能只有坐标信息,而没有具体对应区域位置信息啦。如果要获取区域位置,需要本地缓存相应数据来进行定位查询。已参与了 SegmentFault 思否社区 10 周年「问答」打卡 ,欢迎正在阅读的你也加入。
uni-app网络、离线定位获取经纬度的方法如下所示:
已参与了 SegmentFault 思否社区 10 周年「问答」打卡 ,欢迎正在阅读的你也加入。