2

を働いていないネイティブnavigator.geolocation.getCurrentPositionを反応させます)+私はGoogleマップのアプリを使用して私のポジションに行くことができます(GPSが動作します)。は(バージョン5.1)</p> <p>私が反応し、ネイティブ・マップを使用して自分の位置を決定することができています(私のアプリ内のマップ上の正しい青い点位置Iは、実際のAndroidデバイスを使用しています

私は大きなタイムアウトを使用して、enableHighAccuracyをtrueとfalseに切り替えたり、オプションを削除したりします。データを取得するためにnavigator.geolocationを取得できませんでした。私は取得しています

var options = { 
    enableHighAccuracy: true, 
    timeout: 5000, 
    maximumAge: 0 
}; 

function success(pos) { 
    var crd = pos.coords; 

    console.log('Your current position is:'); 
    console.log(`Latitude : ${crd.latitude}`); 
    console.log(`Longitude: ${crd.longitude}`); 
    console.log(`More or less ${crd.accuracy} meters.`); 
}; 

function error(err) { 
    console.warn(`ERROR(${err.code}): ${err.message}`); 
}; 

navigator.geolocation.getCurrentPosition(success, error, options); 

ERROR(3): Location request timed out

答えて

1

2つのこと

は、ここに私のコードです。

1)実際には、座標がキャッシュされていないと、高精度応答のタイムアウトが高くなりません。 2)一部のデバイスでhighAccuracy設定に問題があります。

タイムアウトとして30000ミリ秒を入力し、動作する設定が見つかるまで高精度を削除してください。

編集:https://github.com/facebook/react-native/issues/7495

ので、これを試してみてください:

1)問題が解決しない場合)maximumAgeというプロパティ 2を削除し、三番目のパラメータを削除し、私は、フォームがネイティブリアクト私が覚えていた長いバグを見つけましたネイティブモジュールのデフォルト値を使用します。意味、オプションオブジェクトを送信しないでください。それはうまくいくはずです。

+0

ご返信ありがとうございます。私はここからコードを貼り付けます:https://developer.mozilla.org/fr/docs/Web/API/Geolocation/getCurrentPosition私は異なる設定 '{ enableHighAccuracy:false、 タイムアウト:50000, maximumAge:0 }'を使用していて、失敗しました。 –

+0

私はこの結果を得ています:https://imgur.com/a/JL40m。ページを開いた後数秒。しかし、プログラムでデータを取得することはできません。 –

+0

直径が大きすぎるので、それは高い痛みではないと私は信じていません。あなたの携帯電話でgpsを有効にしていますか?アプリに細かい場所の許可を与えてもらったことはありますか? (マニフェストとアプリケーションのセキュリティページ) – sfratini

関連する問題