如何在离线模式下使用 Cordova Geolocation 插件

Posted

技术标签:

【中文标题】如何在离线模式下使用 Cordova Geolocation 插件【英文标题】:How to use Cordova Geolocation plugin in offline mode 【发布时间】:2016-11-27 10:47:43 【问题描述】:

我在我的 ionic1 应用程序中使用ngCordova Geolocation 插件。只有当我连接到 wifi 或移动数据时,它才会给我提供纬度和经度。如何离线完成这项工作?

离线模式的错误信息:

Network location provider at 'https://www.googleapis.com/' : No response received

注意:我搜索过,有人说我必须使用此选项:

enableHighAccuracy: true

但没有区别。

编辑:我发现它可以在真实设备中以某种方式工作。但不总是。它正在搜索gps,但有时它可以找到。有什么想法吗?

【问题讨论】:

也许 gps 需要太长时间才能找到位置,而您会超时? 【参考方案1】:

我几乎找到了问题所在。我必须在部门外测试Geolocation插件,否则gps无法找到我的位置。

在部门内部,它几乎找不到(几乎永远不会),但有互联网连接。在部门外,它在离线模式下工作。

【讨论】:

如果“inside department”的意思是“indoors”,而“outside department”的意思是“outdoors”,那么这是意料之中的:来自卫星的 GPS 信号被大多数坚固的建筑物遮挡,因此不会被在室内收到 - see here【参考方案2】:

尝试增加插件的默认超时时间:

navigator.geolocation.getCurrentPosition(onSuccess, onError, 
  enableHighAccuracy: true,
  timeout: 30000,
  maximumAge: 30000
);

【讨论】:

我的超时时间是10000。但是让我测试一下你的。 不!它只是在搜索gps,但找不到。它几乎找不到地理位置:(

以上是关于如何在离线模式下使用 Cordova Geolocation 插件的主要内容,如果未能解决你的问题,请参考以下文章

如何在离线模式下从 Apple Watch 导入使用 HealthKit 的步骤?

如何在离线模式下从 Apple Watch 导入使用 HealthKit 的步骤?

如何在离线模式下运行 Jupyter Dash 应用程序

PDF文件阅读问题仅在离线模式下快速

使用 gps 在离线模式下显示当前位置

在离线模式下获得响应