我在Cordova 3.5中使用了geolocation插件.我的编码如下:
navigator.geolocation.getCurrentPosition(function(pos) { var lat = pos.coords.latitude; var lng = pos.coords.longitude; alert("lat : "+lat+" lng : " +lng"); });
我正在徘徊这个代码是否可以在没有Internet连接和GPS的情况下获得lat lng.如果没有,有没有解决办法呢?谢谢您帮忙.
解决方法
没有互联网连接,仍然有连接设备的Cell ID,RFID和MAC地址等来源(例如WIFI路由器,蓝牙)
代码应该可以工作,但你可以添加一些东西(Eventlistener和错误警报,以防无法找到位置):
document.addEventListener("deviceready",onDeviceReady,false); function onDeviceReady() { navigator.geolocation.getCurrentPosition(onSuccess,onError); } function onSuccess(pos) { var lat = pos.coords.latitude; var lng = pos.coords.longitude; alert("lat : " + lat + " lng : " + lng); } function onError(error) { alert('code: ' + error.code + '\n' + 'message: ' + error.message + '\n'); }
我知道,例如Google位置API使用缓存来获取最新的已知位置,可以随时读取.我不确定Cordova是否也使用类似的东西,但它可能是.