Why is HTML5 geolocation slower than native on And

2019-05-19 22:53发布

I've been dabbling with hybrid app development using Cordova (an extendable web view wrapper for those who haven't used it). One thing that I've noticed is that whenever I request the user's location with window.geolocation, the location fix almost always takes longer compared to a native app.

For instance, it will take 5 or 6 seconds to get a suitable fix with window.geolocation from a "cold start", but the Google Maps app will pan to my location within 2 seconds or less. The same seems to happen with other native apps. This is kind of confusing as I'd imagine they both source data from the underlying Android API. Is there some sort of magic configuration option or caching strategy that I'm missing out on as a web-focused developer?

1条回答
做自己的国王
2楼-- · 2019-05-19 23:53

Late to the party, but navigator.geolocation methods do not use any of the native APIs, that is why it is slower. It uses the WebView implementation of the device.

Also, I recently found out that accuracy gets capped at 10 meters no matter how good your GPS is.

The only fix is to use native code

查看更多
登录 后发表回答