使用科尔多瓦地理定位插件没有互联网的 GPS 坐标

Posted

技术标签:

【中文标题】使用科尔多瓦地理定位插件没有互联网的 GPS 坐标【英文标题】:GPS coordinates without internet using cordova geolocation plugin 【发布时间】:2019-03-24 15:01:09 【问题描述】:

我将使用 cordova 地理定位插件制作一个 android 应用程序,但我想知道它是否可以使用它来检索纬度/经度坐标,仅使用 gps 和没有互联网。

我看到了一些帖子,其中有一个冷的 NO 作为答案,而其他一些帖子甚至在 gps 关闭的情况下开发人员也能获得坐标。

1.- 你能告诉我它是否可能以及为什么吗?

2.- 是否有另一种方法可以在不与离线地图交互的情况下获取 gps 位置? (我只想按一个按钮获取坐标)

3.- 如果无法使用cordova插件可以通过其他方式吗?

4.- 你能就这个话题给我更多的建议或想法吗?

谢谢大家。

【问题讨论】:

【参考方案1】:

我认为如果用户在本地化当然可以激活。

我还没有将它投入生产,因此没有进行足够的测试,但我已经开发了一个允许这样做的按钮。

您必须使用插件:https://github.com/apache/cordova-plugin-geolocation

根据文档,您应该这样做:

// onSuccess Callback
// This method accepts a Position object, which contains the
// current GPS coordinates
//
var onSuccess = function(position) 
    alert('Latitude: '          + position.coords.latitude          + '\n' +
          'Longitude: '         + position.coords.longitude         + '\n' +
          'Altitude: '          + position.coords.altitude          + '\n' +
          'Accuracy: '          + position.coords.accuracy          + '\n' +
          'Altitude Accuracy: ' + position.coords.altitudeAccuracy  + '\n' +
          'Heading: '           + position.coords.heading           + '\n' +
          'Speed: '             + position.coords.speed             + '\n' +
          'Timestamp: '         + position.timestamp                + '\n');
;

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


navigator.geolocation.getCurrentPosition(onSuccess, onError);

我对ios上的离线操作确实有些疑惑。

【讨论】:

以上是关于使用科尔多瓦地理定位插件没有互联网的 GPS 坐标的主要内容,如果未能解决你的问题,请参考以下文章

科尔多瓦地理定位插件和科尔多瓦 Firebase 插件冲突

科尔多瓦后台地理定位支持,一段时间后没有应用程序终止

我的应用程序第二次没有初始化/地理定位插件

如何更改 Ionic 2 iOS 应用程序的位置访问描述?我正在为我的应用程序使用科尔多瓦地理定位插件

JavaScript 地理定位:检查距 2 gps 坐标的距离

如果 gps 暂时不可用,Cordova 地理定位插件无法正常工作