91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發布時間:2020-10-03 12:37:04 來源:腳本之家 閱讀:437 作者:goolong6 欄目:移動開發

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中實現)
@Override
public 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控件支持地理位置定位方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

且末县| 丹巴县| 精河县| 义马市| 高雄县| 和硕县| 夹江县| 九台市| 石家庄市| 彭山县| 福泉市| 滦平县| 石林| 甘泉县| 建德市| 张家口市| 临夏县| 华亭县| 富锦市| 长宁县| 江阴市| 长顺县| 伊通| 电白县| 宕昌县| 武汉市| 克拉玛依市| 邵阳市| 雅安市| 屏东市| 蚌埠市| 罗田县| 鄂温| 铁岭市| 唐山市| SHOW| 芒康县| 双流县| 新野县| 嘉义县| 来宾市|