html5 – 在Cordova / Phonegap中仅使用GPS获取当前位置

我在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是否也使用类似的东西,但它可能是.

相关文章

HTML5和CSS3实现3D展示商品信息的代码
利用HTML5中的Canvas绘制笑脸的代码
Html5剪切板功能的实现
如何通过HTML5触摸事件实现移动端简易进度条
Html5移动端获奖无缝滚动动画实现
关于HTML5和CSS3实现机器猫的代码