国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android中WebView控件支持地理位置定位方法

2019-12-12 00:38:20
字體:
來源:轉載
供稿:網友

Android WebView從assets中加載html5頁面,實現地理位置定位,有需要的朋友可以參考下。

今天調研一個html5頁面的定位問題,發現在手機瀏覽器上html5是可以實現定位的,但是在webview中就無法定位了。而我居然以為html5的地理定位在webview中不可行。

html5頁面內容如下:

<!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">點擊這個按鈕,獲得您的坐標:</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>

后來又在網上查了查,發現,需要設置一些東西。設置websetting的屬性:

webView.setWebViewClient(new WebViewClient());//webView.loadUrl("http://news.baidu.com/");webView.loadUrl("file:///android_asset/index.html");WebSettings webSettings = webView.getSettings();webSettings.setJavaScriptEnabled(true);/*** 以下部分可以不要*/// //啟用數據庫 // webSettings.setDatabaseEnabled(true); // String dir = this.getApplicationContext().getDir("database", Context.MODE_PRIVATE).getPath();//// //啟用地理定位 // webSettings.setGeolocationEnabled(true); // //設置定位的數據庫路徑 // webSettings.setGeolocationDatabasePath(dir); /*** 此處很重要,必須要*///***最重要的方法,一定要設置,這就是出不來的主要原因webSettings.setDomStorageEnabled(true);webView.setWebChromeClient(new WebChromeClient(){//配置權限(同樣在WebChromeClient中實現)@Overridepublic void onGeolocationPermissionsShowPrompt(String origin,Callback callback) { callback.invoke(origin, true, false);  super.onGeolocationPermissionsShowPrompt(origin, callback);}});

//在Androidmanifest.xml中開啟權限

<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" />

在某些限制應用定位權限的手機中,需要開啟應用的定位權限,否則會定位失敗

問題解決!

特別試了試:

同時打開網絡和GPS可以定位,獲得的是經緯度信息。

只打開網絡可以定位,只打開GPS也可以定位。

關閉網絡和GPS也可以定位。

由此可見,是由地理位置定位所得,只能獲得經緯度信息。

若要獲得詳細的地址信息,需要調用地圖API實現。

以上這篇Android中WebView控件支持地理位置定位方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 南康市| 尤溪县| 防城港市| 宕昌县| 菏泽市| 南华县| 郴州市| 乌拉特中旗| 彭州市| 沙田区| 莒南县| 萝北县| 凤台县| 大安市| 额尔古纳市| 许昌市| 乌拉特中旗| 广元市| 岗巴县| 丽水市| 皋兰县| 广德县| 昭通市| 桐城市| 章丘市| 仙桃市| 绥德县| 襄垣县| 乌兰察布市| 兖州市| 商水县| 嵩明县| 蒲江县| 闽清县| 台南县| 广元市| 自贡市| 蓬安县| 建始县| 伊川县| 大冶市|