科尔多瓦地理定位插件有时不起作用

时间:2017-08-15 17:07:13

标签: android cordova gps cordova-plugins

我正在开发一个Android上的应用程序,它在很大程度上取决于gps插件的功能,但是在2次调用gps之后这就停止了工作。我需要打开谷歌地图才能使插件再次运行。

我正在测试三星J1和华为G5(android 5.1.1),cordova v7.0.0和地理定位插件版本2.4.2

3 个答案:

答案 0 :(得分:0)

我在另一个问题中找到了解决方案,请检查here

感谢user2147549,所有归功于他。

这就是我的工作:

在cordova v5.3.3上,你需要这样做:

1,cordova插件删除cordova-plugin-geolocation

2,cordova插件添加cordova-plugin-geolocation

3,将plguins目录中的cordova-plugin-geolocation目录复制到e:\

4,编辑plugin.xml,添加:

<js-module src="www/Coordinates.js" name="Coordinates">
    <clobbers target="Coordinates" />
</js-module>

<js-module src="www/PositionError.js" name="PositionError">
    <clobbers target="PositionError" />
</js-module>

<js-module src="www/Position.js" name="Position">
    <clobbers target="Position" />
</js-module>

<js-module src="www/geolocation.js" name="geolocation">
    <clobbers target="navigator.geolocation" />
</js-module>

<config-file target="res/xml/config.xml" parent="/*">
    <feature name="Geolocation">
        <param name="android-package" value="org.apache.cordova.geolocation.GeoBroker"/>
    </feature>
</config-file>

<config-file target="AndroidManifest.xml" parent="/*">
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
</config-file>

5,cordova插件删除cordova-plugin-geolocation

6,cordova插件添加e:\ cordova-plugin-geolocation

7,cordova现在运行android,我的gps位置很好。感谢吴中华。

答案 1 :(得分:0)

事实证明,使用旧版本的插件可以解决此问题。

在我的情况下,我只需要使用cordova应用程序在Android上工作,这样就不会有问题。

你需要像这样在你的proyect中添加gps插件:

cordova plugin add org.apache.cordova.geolocation@0.3.6

答案 2 :(得分:0)

有关地理位置插件近期问题的最新解决方案:

我在Android设备上遇到了同样的问题,并且找不到该插件的解决方案。幸运的是,我发现了另一个非常有效的插件:cordova-plugin-advanced-geolocation

但是,如果您主要想继续使用官方插件,则可以尝试我在这里所做的解释: https://github.com/apache/cordova-plugin-geolocation/issues/114#issuecomment-431554902