私はAndroid、Java、およびJavaScriptのコーディングではとても新しいです。AndroidのブラウザでJavascriptを使用してGPS座標を取得できません
私は現在のGPS座標を取得し、その後Android搭載デバイスで追跡しようとしています。私はwebviewを使用しており、コードの大部分はjavascriptで書かれています。
私は数日間多くの検索を行い、さまざまな方法で試しましたが、アンドロイドデバイスでGPS座標を取得できません。コードを見て、なぜ私がGPSの位置を取得していないのか理解してください。
- 1.他のセンサーアプリをダウンロードして確認しました。現在のGPS座標が表示されています(GPSがデバイス上で動作しています)。 2.コードを実行すると、通知領域にGPS検索アイコンが表示されますが、点滅し続けますが、修正されません。 3.ラップトップブラウザでjavascriptを使用してHTMLファイルのみを実行すると、場所を共有する権限が要求され、座標が与えられますが、同じファイルにはアンドロイドには何も表示されません。
以下のコードを見て、これを理解してください。私は多くを試して、これを私の最後の希望として掲示しています。
マニフェストファイルには、次の権限を持っている -
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.INTERNET"/>
<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" />
アンドロイドの主なJavaコードが持っている -
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
webView = new WebView(this);
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setLoadWithOverviewMode(true);
webView.getSettings().setUseWideViewPort(true);
webView.loadUrl("file:///android_asset/mymap.html");
setContentView(webView);
}
とJavaScriptとHTMLファイルがある -
<!DOCTYPE html>
<html>
<body onunload="OnUnload()" onload="getLocation()">
<p id="demo">Your coordinates:</p>
<script>
var watchID;
var x=document.getElementById("demo");
function getLocation()
{
if (navigator.geolocation)
{
var options = {maximumAge:600000, timeout:100000, enableHighAccuracy: true};
watchID = navigator.geolocation.watchPosition(showPosition,showError,options);
}
else{x.innerHTML="Geolocation is not supported by this browser.";}
}
function showPosition(position)
{
x.innerHTML="Latitude: " + position.coords.latitude +
"<br />Longitude: " + position.coords.longitude;
}
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;
}
}
function OnUnload()
{
alert ("The current document will be unloaded!");
navigator.geolocation.clearWatch(watchID);
}
</script>
</body>
</html>
ありがとうございます。 axs