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

首頁 > 系統 > Android > 正文

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

2019-10-21 21:44:01
字體:
來源:轉載
供稿:網友

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控件支持地理位置定位方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到Android開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 双辽市| 巫溪县| 克拉玛依市| 河西区| 天台县| 石屏县| 封开县| 吉木乃县| 丹寨县| 海兴县| 石城县| 叙永县| 双牌县| 行唐县| 天镇县| 漠河县| 新营市| 札达县| 安乡县| 通渭县| 莲花县| 汕尾市| 大同市| 尚志市| 抚州市| 内江市| 白玉县| 长武县| 南部县| 颍上县| 丽水市| 页游| 林西县| 南靖县| 饶河县| 桂东县| 兰坪| 武邑县| 玉环县| 达拉特旗| 肇东市|