Геолокация в Android WebView занимает много времени, чтобы вернуть местоположение
Я пытаюсь встроить свой веб-сайт в WebView на мобильной стороне. Мой сайт будет запрашивать местоположение пользователя, чтобы вернуться в ближайший магазин.
Работает нормально для обоих browsers
из android
а также iOS
устройства. Однако загрузка очень медленная (1-5 с), когда я использую WebView для переноса своего сайта.
PS: он работает нормально (<0,5 с) даже в браузере Android-устройств (Chrome и т. Д.)
я использую html5 api
для получения местоположения.
...
navigator.geolocation.getCurrentPosition(
successHandler,
errHandler,
{ enableHighAcuracy: true }
...
Для андроида я пробовал
React-Native
: response-native-webview
Android
: Собственный WebView
Для обоих случаев я включил
web_view.settings.setAppCacheEnabled(true)
web_view.settings.domStorageEnabled = true
web_view.settings.javaScriptEnabled = true
web_view.settings.setGeolocationEnabled(true)
web_view.settings.databaseEnabled = true
web_view.webChromeClient = object : WebChromeClient() {
override fun onGeolocationPermissionsShowPrompt(
origin: String?,
callback: GeolocationPermissions.Callback?
) {
callback?.invoke(origin, true, true)
}
}
Я собираюсь попробовать watchLocation API, чтобы увидеть, может ли производительность быть лучше или нет.