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

lim*_*eng 5 html5 cordova

我在Cordova 3.5中使用了地理位置插件。我的编码如下:

navigator.geolocation.getCurrentPosition(function(pos) {
    var lat = pos.coords.latitude;
    var lng = pos.coords.longitude;
    alert("lat : "+lat+" lng : " +lng");
});
Run Code Online (Sandbox Code Playgroud)

我在徘徊此代码是否可以在没有Internet连接和GPS开启的情况下获得延迟。如果没有,是否有解决方案?感谢您的帮助。

小智 2

没有互联网连接,仍然有您所连接设备的 Cell ID、RFID 和 MAC 地址等来源(例如 WIFI 路由器、蓝牙)

该代码应该可以工作,但您可以添加一些内容(事件侦听器和错误警报,以防找不到该位置):

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');
        }
Run Code Online (Sandbox Code Playgroud)

我知道,例如,Google 位置 API 使用最新已知位置的缓存,可以随时读出。我不确定 Cordova 是否也使用类似的东西,但有可能。