phonegap 中的 GPS 状态

Posted

技术标签:

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

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

感谢您的帮助:)

【问题讨论】:

this post的可能重复 【参考方案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 状态吗?

以上是关于phonegap 中的 GPS 状态的主要内容,如果未能解决你的问题,请参考以下文章

Phonegap 检测设备 GPS 状态

如何使用phonegap检测android中的来电号码

一键构建PhoneGap构建到Android

GPS 追踪器与 jQuery 移动、PhoneGap 和谷歌地图

为啥 PhoneGap 总是显示默认的启动画面?

PhoneGap - 请求 GPS 激活