私は現在、モバイル デバイスでヒットする可能性が高い webapp を作成しています。ある時点で、HTML5 の getCurrentPosition() を使用してユーザーの位置を取得する必要があります。できるだけ早く大まかな修正を行いたいので、enableHighAccuracy パラメーターを false に設定してこの関数を呼び出します。
ほとんどの場合、これは期待どおりに機能します。ただし、一部の Android デバイスでは、ブラウザーは明らかにこの属性を無視し、常に GPS 位置情報を取得しようとします (通知バーに GPS アイコンが表示されます)。面白いことに、設定で GPS 位置情報を手動で無効にしても、これが発生します。
これはブラウザーに依存していないようです。Chrome、Firefox、Opera で同じコードをテストしましたが、次のような単純なコードで発生します。
<!doctype html>
<html>
<head>
<script type="text/javascript">
function getLocation() {
if (navigator.geolocation)
{
navigator.geolocation.getCurrentPosition(onLocationReceived, onLocationError, {timeout: 5000, enableHighAccuracy: false});
}
else
alert("Geoloc not supported by your browser");
}
function onLocationReceived(position) {
alert("Location retreived! " + position.coords.latitude + ", " + position.coords.longitude + " (" + position.coords.accuracy + ")");
}
function onLocationError(error) {
alert("Received an error! " + error.message + "(" + error.code + ")");
}
</script>
</head>
<body>
<button onclick="getLocation();">Get location</button>
</body>
これまでのところ、これは HTC One と Xiaomi 1S で発生しています。この問題に遭遇したことがありますか? 多分それは既知のバグですか?
ありがとう。