Cordova 显示初始屏幕,直到获得纬度和经度(phonegap)

Cordova 显示初始屏幕,直到获得纬度和经度(phonegap),cordova,geolocation,phonegap-build,Cordova,Geolocation,Phonegap Build,我不希望用户在计算出纬度和经度之前控制这个应用程序。 我希望他们等待加载,而不是观看启动屏幕 我还有一个问题。 phonegap是否能够知道GPS是否已打开? 我认为OneError函数应该发出警告消息,但它没有。@jerome,可以按您的要求执行,但在启动屏幕消失之前可能需要一段时间。GPS不是那样工作的。我建议你多读GPS。你的误解很普遍。对不起,我没有什么好文章给你看。这篇文章对您来说可能是技术性的,但请尝试一下 同时,你可以通过我的演示应用程序获得所需的内容 Phonegap演示应用程序

我不希望用户在计算出纬度和经度之前控制这个应用程序。 我希望他们等待加载,而不是观看启动屏幕

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

@jerome,可以按您的要求执行,但在启动屏幕消失之前可能需要一段时间。GPS不是那样工作的。我建议你多读GPS。你的误解很普遍。对不起,我没有什么好文章给你看。这篇文章对您来说可能是技术性的,但请尝试一下

同时,你可以通过我的演示应用程序获得所需的内容

Phonegap演示应用程序

您将要合并:

  • 电话间隙GPS测试
  • Phonegap屏幕测试
然后转到启动屏幕的config.xml并删除延迟。这一行:

        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');
        }

最后,关于您的问题,如果GPS关闭,并且经常是因为它很快耗尽电池,OneError()回调将超时。清楚地说,您无法检测它是否处于打开状态。当你试图获取GPS信息时,你会收到一个错误,告诉你它没有及时响应。(这是一个糟糕的设计,但它就是这样工作的。)

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