欧美成人午夜免费全部完,亚洲午夜福利精品久久,а√最新版在线天堂,另类亚洲综合区图片小说区,亚洲欧美日韩精品色xxx

扣丁學(xué)堂Android培訓(xùn)解析WebView控件支持地理位置定位方法

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)的吧。



html5頁面內(nèi)容如下:

<!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>

在網(wǎng)上查了查,發(fā)現(xiàn)需要設(shè)置一些東西。設(shè)置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);
 
 
/**
* 以下部分可以不要
*/
// //啟用數(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);
}
 
});

//在Androidmanifest.xml中開啟權(quán)限
<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" />

在某些限制應(yīng)用定位權(quán)限的手機中,需要開啟應(yīng)用的定位權(quán)限,否則會定位失敗

問題解決!

特別試了試:

同時打開網(wǎng)絡(luò)和GPS可以定位,獲得的是經(jīng)緯度信息。

只打開網(wǎng)絡(luò)可以定位,只打開GPS也可以定位。

關(guān)閉網(wǎng)絡(luò)和GPS也可以定位。

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

若要獲得詳細(xì)的地址信息,需要調(diào)用地圖API實現(xiàn)。

以上這篇Android中WebView控件支持地理位置定位方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持扣丁學(xué)堂,想要了解更多詳情請登錄扣丁學(xué)堂官網(wǎng)咨詢或者關(guān)注微信公眾號,里面有最新的扣丁學(xué)堂Android視頻教程等你來看!


扣丁學(xué)堂微信公眾號



【關(guān)注微信公眾號獲取更多學(xué)習(xí)資料】



查看更多關(guān)于“Android開發(fā)技術(shù)的相關(guān)資訊>>


標(biāo)簽: Android學(xué)習(xí)路線圖 Android培訓(xùn) Android開發(fā)工程師 Android視頻教程

熱門專區(qū)

暫無熱門資訊

課程推薦

微信
微博
15311698296

全國免費咨詢熱線

郵箱:codingke@1000phone.com

官方群:148715490

北京千鋒互聯(lián)科技有限公司版權(quán)所有   北京市海淀區(qū)寶盛北里西區(qū)28號中關(guān)村智誠科創(chuàng)大廈4層
京ICP備2021002079號-2   Copyright ? 2017 - 2022
返回頂部 返回頂部