2018-08-01 14:40:19 1578瀏覽
今天扣丁學(xué)堂Android培訓(xùn)老師給大家詳細(xì)介紹一下關(guān)于WebView從assets中加載html5頁面,實現(xiàn)地理位置定位的方法,但是有一個html5頁面的定位問題,發(fā)現(xiàn)在手機瀏覽器上html5是可以實現(xiàn)定位的,但是在webview中就無法定位了,以為html5的地理定位在webview中不可行,下面我們一起來看一下是如何實現(xiàn)的吧。
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> </head> <body> <p id="demo">點擊這個按鈕,獲得您的坐標(biāo):</p> <button onclick="getLocation()">試一下</button> <script> var x=document.getElementById("demo"); function getLocation() { if (navigator.geolocation) { navigator.geolocation.watchPosition(showPosition); } else{ x.innerHTML="Geolocation is not supported by this browser."; } } function showPosition(position) { x.innerHTML="Latitude: " + position.coords.latitude + "<br />Longitude: " + position.coords.longitude; } </script> </body> </html>
webView.setWebViewClient(new WebViewClient()); //webView.loadUrl("http://news.baidu.com/"); webView.loadUrl("file:///android_asset/index.html"); WebSettings webSettings = webView.getSettings(); webSettings.setJavaScriptEnabled(true); /** * 以下部分可以不要 */ // //啟用數(shù)據(jù)庫 // webSettings.setDatabaseEnabled(true); // String dir = this.getApplicationContext().getDir("database", Context.MODE_PRIVATE).getPath(); // // //啟用地理定位 // webSettings.setGeolocationEnabled(true); // //設(shè)置定位的數(shù)據(jù)庫路徑 // webSettings.setGeolocationDatabasePath(dir); /** * 此處很重要,必須要 */ //***最重要的方法,一定要設(shè)置,這就是出不來的主要原因 webSettings.setDomStorageEnabled(true); webView.setWebChromeClient(new WebChromeClient(){ //配置權(quán)限(同樣在WebChromeClient中實現(xiàn)) @Override public void onGeolocationPermissionsShowPrompt(String origin, Callback callback) { callback.invoke(origin, true, false); super.onGeolocationPermissionsShowPrompt(origin, callback); } });
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
以上這篇Android中WebView控件支持地理位置定位方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持扣丁學(xué)堂,想要了解更多詳情請登錄扣丁學(xué)堂官網(wǎng)咨詢或者關(guān)注微信公眾號,里面有最新的扣丁學(xué)堂Android視頻教程等你來看!
【關(guān)注微信公眾號獲取更多學(xué)習(xí)資料】
查看更多關(guān)于“Android開發(fā)技術(shù)”的相關(guān)資訊>>