1

私はreact-native-mapsで作業しており、ジオロケーションに反応ネイティブAPIを使用しています。私がAPIを介して場所を使用しているとき、サンフランシスコの私の所在地であるデンバーではなく、シミュレータに戻ってくるものが私に表示されます。私の場所が私がどこにいるのかわからない理由はありますか?ReactネイティブとiOSシミュレータでジオロケーションが正しくない

初期状態での私の場所のプリセットがある

// Get current users locaiton on load 
    componentDidMount() { 
    navigator.geolocation.getCurrentPosition((position) => { 
     console.log(position); 
     let newLat = parseFloat(position.coords.latitude); 
     console.log("newLat", newLat); 
     let newLng = parseFloat(position.coords.longitude); 
     console.log("newLng", newLng); 
     // set region of user to lat and long position 
     // deltas set distance from marker (zoom) on map 
     this.setState({ 
     region: { 
      latitude: newLat, 
      longitude: newLng, 
      latitudeDelta: 0.0250, 
      longitudeDelta: 0.0125 
     }, 
     error: null 
     }); 
     console.log(this.state); 
    }, 
     // if error set state with error 
     (err) => { 
     console.log(err), 
     // set location accuracy on 
     // max time to find location in 5 sec 
     // max time to use cached location for phone 5 sec 
     { timeout: 5000, maximumAge: 5000 }; 
     } 
    ); 

    // watch for changes and update location 
    this.watchId = navigator.geolocation.watchPosition((position) => { 
     console.log(position); 
     let newLat = parseFloat(position.coords.latitude); 
     console.log("newLat", newLat); 
     let newLng = parseFloat(position.coords.longitude); 
     console.log("newLng", newLng); 
     // set region of user to lat and long position 
     // deltas set distance from marker (zoom) on map 
     this.setState({ 
     region: { 
      latitude: newLat, 
      longitude: newLng, 
      latitudeDelta: 0.0250, 
      longitudeDelta: 0.0125 
     }, 
     error: null 
     }); 
     console.log(this.state); 
    }, 
     (err) => { 
     console.log(err), 
     // set location accuracy on 
     // max time to find location in 5 sec 
     // max time to use cached location for phone 5 sec 
     // distance before location called again 10 m 
     { timeout: 5000, maximumAge: 5000, distanceFilter: 10 } 
     } 
    ); 
    } 

場所を実行し、私の機能:

のiOSシミュレータは console log of my location

で私を示しており、より比較的近い

this.state ={ 
     region: { 
      latitude: 39.739236, 
      longitude: -104.990251, 
      latitudeDelta: 0.1000, 
      longitudeDelta: 0.0500 
     }, 

誰もがこの問題に遭遇し、それを解決する方法を知っていますか?反応ネイティブが実行されているネットワークか、ラップトップのネットワークの場所から抜けてはいけないネットワークですか?

私は他の誰がこの問題に遭遇したかどうかを確認するために見てきました: Geolocation in React Native iOS 、あなたがジオロケーション間違っ反応し、ネイティブIOSを検索する場合、スタック上の検索が唯一の6件の結果を示しています... Googleはどちらかあまり助けませんでした。

あなたの助けをありがとう

答えて

2

これは、iOSシミュレータ(およびAndroidエミュレータ)の正しい動作です。 iOSのシミュレータで

iOS

  1. 実行アプリ:あなたは(他の回答から言い換え)などのそれぞれの上にジオロケーションのための嘲笑の座標を変更することができます。
  2. トップメニューバーには、[デバッグ] - [ロケーション] - > [カスタムロケーション](または他のものを使用することもできます)があります。
  3. Latitudeを設定します。&場所の経度を設定します。 Androidのエミュレータで

Android

  1. 実行アプリ。
  2. ツールバーの省略記号(...)をクリックします。
  3. ロケーションの下に新しく開いた設定の座標を編集します。

telnetを使ってAndroidのexplained hereためのコマンドライン代替とgeo fixコマンドもあります。

または、ashutosh pandeyが実際のデバイスで提案してテストするようにすることができます。

+0

この問題を解決する方法を教えていただきありがとうございます。私のジオロケーションをテストできます。 –

-1

ジオロケーションは、アンドロイドとiosの両方で動作しません。 デバイス上で実際に確認すると問題なく動作します。

関連する問題