iphone获取phonegap地理定位始终开启

Posted

技术标签:

【中文标题】iphone获取phonegap地理定位始终开启【英文标题】:iphone gwtphonegap Geolocation always on 【发布时间】:2012-08-14 04:25:36 【问题描述】:

gwtphonegap 1.7.0.0 (iPhone) 上,我使用地理定位服务在应用程序的开头只获取一次用户的位置

    GeolocationOptions options = new GeolocationOptions();
    options.setMaximumAge(1000);
    options.setEnableHighAccuracy(true);
    phoneGap.getGeolocation().getCurrentPosition(callback, options);

一开始只调用一次,之后不需要更新位置。

问题是,当我在 iPhone 上运行我的应用程序时,状态栏上的 GPS 指示灯一直亮着,即使我获得了正确的位置。 这可能会导致无用的电池使用。

有没有办法让 Geolocation 服务在获得位置后停止?

【问题讨论】:

【参考方案1】:

似乎我们缺少 gwt phonegap 实现中的例程。我刚刚重新检查,它们不是文档的一部分。

我刚刚发布了一个关于 gwt-phonegap 项目的问题:http://code.google.com/p/gwt-phonegap/issues/detail?id=57

作为一种解决方法,您可以转到 jsni 并直接调用 start/stop 方法。

【讨论】:

知道怎么做吗?我尝试了public static native String stopGeolocation() /*- Geolocation.prototype.stop(); -*/; 之类的方法,但我不确定要调用的方法是什么。谢谢 好的,这个工作得很好:public static native String stopGeolocation() /*- if (typeof $wnd.device != "undefined" && typeof $wnd.cordova == "object") $wnd.cordova.exec("Geolocation.stopLocation"); -*/;【参考方案2】:

底层 phonegap 库似乎有start() and stop() methods。您可能需要扩展 gwtphonegap。

【讨论】:

以上是关于iphone获取phonegap地理定位始终开启的主要内容,如果未能解决你的问题,请参考以下文章

PhoneGap - 地理位置错误

在 iPhone 7 上 React Native 地理定位标题始终为 -1

iPhone - iOS5:phonegap 上的地理位置

“原生”地理定位与“基于PhoneGap”的地理定位功能

黑莓中的Phonegap地理定位

phonegap 相机和地理定位在 android 中不能一起工作