Cordova / Html5地理位置比原生地理位置慢?

时间:2015-09-02 22:22:04

标签: android html5 cordova geolocation

我使用地理定位插件获得了一个cordova应用:https://github.com/apache/cordova-plugin-geolocation

我的很多用户报告我的应用程序中的地理定位很慢(他们的意思是慢速是6秒左右)。 他们说当我们使用Waze时,需要2秒......

我也在SO上发现了这篇文章: Why is HTML5 geolocation slower than native on Android?

我已经使用了Cordova人行横道插件:https://github.com/crosswalk-project/cordova-plugin-crosswalk-webview

但它并没有改变地理位置的表现。

用户有很多不同的手机(三星,索尼,LG,......)但似乎所有手机需要6个秒。 我使用EnableHighAccuracy false来获得更好的性能。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

问题是GMS Android发行版中的地理定位实际上有two APIs。一个system API和另一个GMS。本机应用程序可能使用GMS实现,实际上是所有使用它的应用程序的地理定位服务聚合器。这就是为什么使用此API可以快速获得位置的原因。

较旧的webView当然使用Android系统API,因此它们较慢,甚至根本无法获取位置,而其他应用程序可以。您可能希望使用此cordova-plugin-locationservices插件,该插件使用GMS作为位置提供程序(或现在看起来放弃的某个fork)。

但是,我认为自从Android 7及更高版本的Chrome WebView以来,webView终于使用了这个API,因此问题应该最终解决。