显示启动画面直到获得纬度和经度(phonegap)

时间:2015-06-15 15:55:00

标签: cordova geolocation phonegap-build

        document.addEventListener("deviceready", onDeviceReady, false);
        function onDeviceReady() {
            navigator.geolocation.getCurrentPosition(onSuccess, onError);
        }

        // onSuccess Geolocation
        //
        function onSuccess(position) {
            latitude = position.coords.latitude;
            longitude = position.coords.longitude;
            geo();
        }
        function geo(){
            alert("latitude:" + latitude + "longitude:" + longitude);
            $('#latitude-input').val(latitude);
            $('#longitude-input').val(longitude); 
        };

        // onError Callback receives a PositionError object
        //
        function onError(error) {
            alert('code: '    + error.code    + '\n' +
                'message: ' + error.message + '\n');
        }

我不希望用户控制应用,直到它计算出纬度和经度。 我希望他们等待加载观看启动画面。

我还有一个问题。 phonegap是否能够知道GPS是否已打开? 我认为函数onError应该发出警告信息,但它没有。

1 个答案:

答案 0 :(得分:0)

@jerome,可以按照你的要求去做,但在启动画面消失之前可能是 looong 时间。 GPS无法正常工作。我建议你做很多阅读GPS。你的误解很常见。对不起,我没有任何好文章供你阅读。这篇文章可能适合您,但请尝试Garmin | What is GPS?

与此同时,您可以获得尝试使用我的演示应用程序所需的内容。

Phonegap演示应用

http://codesnippets.altervista.org/examples/phonegap/demos/PUBLIC.Apps.html

你想要结合:

  • 的PhoneGap-GPS试验
  • 的PhoneGap-溅射屏幕试验

然后转到启动屏幕的config.xml并删除延迟。这一行:

 <preference name="SplashScreenDelay" value="5000" />

最后,根据您的问题,如果GPS关闭,并且经常是因为它非常快地耗尽电池,onError()回调将超时。要清楚,您无法检测它是否已打开。当您尝试获取GPS信息时,您将收到错误消息,告诉您它没有及时响应。 (这是一个糟糕的设计,但这就是它的工作原理。)