0

ユーザーの位置を取得するアプリを作成しています。アプリは3Gを使用して正しく動作します。問題は、3Gを無効にして、GPSのみを使用してアプリを実行したい場合に発生します。アプリは起動しません。

私が持っているコード:

document.addEventListener("deviceready", onDeviceReady, false);

function onDeviceReady() {
    navigator.geolocation.getCurrentPosition(onSuccess, onError);
}

function onSuccess(position) {
    var element = document.getElementById('geolocation');
    element.innerHTML = 'Latitude: '           + position.coords.latitude              + '<br />' +
                        'Longitude: '          + position.coords.longitude             + '<br />' +
                        'Altitude: '           + position.coords.altitude              + '<br />' +
                        'Accuracy: '           + position.coords.accuracy              + '<br />' +
                        'Altitude Accuracy: '  + position.coords.altitudeAccuracy      + '<br />' +
                        'Heading: '            + position.coords.heading               + '<br />' +
                        'Speed: '              + position.coords.speed                 + '<br />' +
                        'Timestamp: '          + new Date(position.timestamp)          + '<br />';
}

function onError(error) {
    alert('code: '    + error.code    + '\n' +
          'message: ' + error.message + '\n');
} 
4

3 に答える 3

8

ジオロケーションは、GPS を使用するという意味ではありません。デフォルトでは、ネットワーク ロケーションを使用します。高精度を有効にする必要があります。

于 2013-01-14T19:15:26.713 に答える
2

アプリケーションが gps レシーバーを使用できるように、マニフェストのアクセス許可に Position.FINE が含まれていることを確認してください。

于 2013-01-14T19:17:04.417 に答える
2

Android マニフェストに移動し、それを行う権限があることを確認します。

于 2013-01-14T19:23:36.503 に答える