ジオロケーションをWebViewに表示するには、次のSOリンクを通過しましたが、まだロケーションはWebViewでは表示されませんが、モバイルブラウザでは適切に機能します。アンドロイドウェブビュージオロケーションが動作していません
私は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>
解決方法を見つけましたか?私は同じ問題に固執しています。http://stackoverflow.com/questions/44016206/android-webview-user-denied-geolocation-javascript –