1

ジオロケーションをWebViewに表示するには、次のSOリンクを通過しましたが、まだロケーションはWebViewでは表示されませんが、モバイルブラウザでは適切に機能します。アンドロイドウェブビュージオロケーションが動作していません

SO Link 1

SO Link 2

私はWebViewのに次の権限を追加しました:

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 
    <uses-permission android:name="android.permission.ACCESS_GPS" /> 
    <uses-permission android:name="android.permission.ACCESS_ASSISTED_GPS" /> 
    <uses-permission android:name="android.permission.ACCESS_LOCATION" /> 

onGeolocationPermissionsShowPromptを実装しました。

追加された次の行:

homesite.getSettings().setJavaScriptEnabled(true); 
homesite.getSettings().setAppCacheEnabled(true); 
homesite.getSettings().setDatabaseEnabled(true); 
homesite.getSettings().setDomStorageEnabled(true); 
homesite.getSettings().setBuiltInZoomControls(true); 
homesite.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK); 
homesite.addJavascriptInterface(new WebAppInterface(this.getActivity()), "Android"); 

しかし、まだ成功はありません。ここで

はのgetLocationボタンを実行し、私のjavascriptです:

<script> 
var x = document.getElementById("geodemo"); 
function getLocation() { 
    if (navigator.geolocation) { 
     navigator.geolocation.getCurrentPosition(showPosition, showError); 
    } else { 
     x.innerHTML = "Geolocation is not supported by this browser."; 
    } 
} 
function showPosition(position) { 
    var latlon = position.coords.latitude + "," + position.coords.longitude; 

    var img_url = "http://maps.googleapis.com/maps/api/staticmap?center=" 
    +latlon+"&zoom=14&size=400x300&sensor=false"; 
    document.getElementById("mapholder").innerHTML = "<img src='"+img_url+"'>"; 
} 
function showError(error) { 
    switch(error.code) { 
     case error.PERMISSION_DENIED: 
      x.innerHTML = "User denied the request for Geolocation." 
      break; 
     case error.POSITION_UNAVAILABLE: 
      x.innerHTML = "Location information is unavailable." 
      break; 
     case error.TIMEOUT: 
      x.innerHTML = "The request to get user location timed out." 
      break; 
     case error.UNKNOWN_ERROR: 
      x.innerHTML = "An unknown error occurred." 
      break; 
    } 
} 
</script> 
+0

解決方法を見つけましたか?私は同じ問題に固執しています。http://stackoverflow.com/questions/44016206/android-webview-user-denied-geolocation-javascript –

答えて

0

は上だらけのあなたのWebViewのWebChromeClientでonGeolocationPermissionsShowPrompt方法あなたが持っていますか?

+0

はい、私は 'onGeolocationPermissionsShowPrompt'をオーバーライドしました。 –

関連する問題