我正在开发一个Android上的应用程序,它在很大程度上取决于gps插件的功能,但是在2次调用gps之后这就停止了工作。我需要打开谷歌地图才能使插件再次运行。
我正在测试三星J1和华为G5(android 5.1.1),cordova v7.0.0和地理定位插件版本2.4.2
答案 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