【问题标题】:GPS status in phonegapphonegap 中的 GPS 状态
【发布时间】:2014-07-09 09:35:16
【问题描述】:

我是 Phonegap 的新手。我想通过网络或 GPS 显示用户位置。我想知道 GPS 状态,比如 GPS 现在是关闭还是启用或禁用?如果 GPS 关闭,应用程序会转到 GPS 设置,如果 GPS 被禁用,则 GPS 会打开。我不知道,我可以用 phonegap 找到这个还是应该为此编写一个插件?我的意思是,我应该为 android 编写一个插件,为 IOS 编写另一个插件?

感谢您的帮助:)

【问题讨论】:

标签: android cordova gps


【解决方案1】:

有一个Android插件here和另一个here

在 iOS 上,如果这是它无法定位的原因,错误回调将告诉您位置服务已禁用。

【讨论】:

    【解决方案2】:

    我认为这可能会有所帮助,刚刚在 phonegap 网站上找到了它:

    http://docs.phonegap.com/fr/1.3.0/phonegap_geolocation_geolocation.md.html

    【讨论】:

    • 感谢您的回复。我读过这个,但在这个文档中说如何获取我的位置而不是如何检查 GPS 状态。
    • 我认为您可以使用一种解决方法:尝试使用 GPS 设备(例如 getCurrentPosition),如果出现错误,则在 geolocationError 方法中您可以知道 GPS 状态。我不知道这行得通,但试试吧。
    • 我认为没有办法直接使用Phonegap当前版本获取gps状态。唯一的方法(我认为)是从 geolocationError 中获取任何错误,然后您将获得 GPS 设备的状态。
    • LeGeekDOzoirLaFerriere,我同意你的看法。我认为 phonegap 无法知道 GPS 是否打开,也无法知道 GPS 状态!为此应该编写一个插件或分析获取地理位置的错误。
    • 有几个插件可用,看我的回答
    【解决方案3】:

    要知道网络连接状态....

    <html>
          <head>
            <title>navigator.network.connection.type Example</title>
            <script type="text/javascript" charset="utf-8" src="phonegap-1.0.0.js"></script>
            <script type="text/javascript" charset="utf-8">
            // Wait for PhoneGap to load
            document.addEventListener("deviceready", onDeviceReady, false);
            function onDeviceReady() {
                checkConnection();
            }
    
            function checkConnection() {
                var networkState = navigator.network.connection.type;
                var states = {};
                states[Connection.UNKNOWN]  = 'Unknown connection';
                states[Connection.ETHERNET] = 'Ethernet connection';
                states[Connection.WIFI]     = 'WiFi connection';
                states[Connection.CELL_2G]  = 'Cell 2G connection';
                states[Connection.CELL_3G]  = 'Cell 3G connection';
                states[Connection.CELL_4G]  = 'Cell 4G connection';
                states[Connection.NONE]     = 'No network connection';
                alert('Connection type: ' + states[networkState]);
            }
            </script>
          </head>
          <body>
            <p>A dialog box will report the network state.</p>
          </body>
        </html>
    

    如果没有连接 然后尝试显示警报

    if (networkState == Connection.NONE){
      alert('no internet ');
    };
    

    Tutorial

    【讨论】:

    • 感谢您的快速回复。我想知道 GPS 状态而不是网络状态。我可以知道 GPS 状态吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多