2017-09-12 2 views
1

So:React地理位置またはMapViewでネイティブエクスポプロジェクトエラーが発生しました。

私はReactネイティブプロジェクトのトラフエキスポを持っています。それには、airbnb mapViewやそのようなものがあります。以前は純粋にネイティブプロジェクトに反応していました(作成前に作成されたネイティブアプリも問題でした)、最近私はそれをエクスポに移しました。ほとんどすべてがうまく動作します。エクスポへの変換は、iOSにとってはまったく問題なく、すべてのものが期待通りに機能します。しかし、Androidの携帯電話でアプリを起動しようとすると、私は本当に奇妙なエラーを取得します。

ヌルオブジェクト参照

インターフェイスメソッド 'ブールabi20_0_0.com.facebook.react.bridge.ReadableMap.hasKey(java.lang.String)を' 起動しようと私はそれを持っていると思います実際のMapViewの場所を見つけることではない実際のプロセスとは何か、私は変更さ唯一の事をした

import MapView from 'react-native-maps'; import { MapView } from 'expo';

これは、場所を見つけるために使用される実際のコードです:

componentDidMount() { 
    navigator.geolocation.getCurrentPosition(
      (position) => { 
      this.setState({ 
        region: { 
         latitude: position.coords.latitude, 
         longitude: position.coords.longitude, 
         latitudeDelta: LATITUDE_DELTA, 
         longitudeDelta: LONGITUDE_DELTA 
        }, 
        lat : position.coords.latitude, 
        lon : position.coords.longitude, 
        cords : { 
          latitude: position.coords.latitude, 
         longitude: position.coords.longitude, 
       } 
       }); 
      }, 
      (error) => alert(error.message), 
     {enableHighAccuracy: true, timeout: 20000, maximumAge: 1000} 
    ); 

    this.watchID = navigator.geolocation.watchPosition(
     (position) => { 
      this.setState({ 
        cords : { 
         latitude: position.coords.latitude, 
         longitude: position.coords.longitude, 
        }, 
        lat : position.coords.latitude, 
        lon : position.coords.longitude, 
       }); 
     }); 
} 

それはまだ万博ずに古いアンドロイドのバージョンで正常に動作し、それは博覧会で作られた新しいiOSのバージョンで動作します。彼は私と同じ結論になってしまったが、彼の質問と無回答にはほとんど情報を持っていた watchPosition fails with react native expo

package.jsonのdepencies

"dependencies": { 
    "expo": "^20.0.0", 
    "firebase": "^4.3.0", 
    "react": "16.0.0-alpha.12", 
    "react-native": "https://github.com/expo/react-native/archive/sdk-20.0.0.tar.gz", 
    "react-navigation": "^1.0.0-beta.11" 
    } 

私はこの正確に同じ問題に一つの他の質問を設立しました/コメント私は自分の質問をすることにしました。

+1

実際のデバイスを試しましたか?エミュレータではありませんか? –

+0

2つのリアルデバイスとエミュレータで試しました。 iOSでは実際のデバイスのみ。すべてのデバイス/エミュレータでスタンドアロンとエクスポバージョンの両方博覧会のない古いバージョンは、それらのすべて1つ1つで働いた – Nipatiitti

答えて

0

AndroidのwatchPositionの3番目の引数として空のoptionsオブジェクトを渡します。

https://github.com/facebook/react-native/issues/14580

+0

私はこれをずっと前に修正しました。これが助けられたことを確認できます。このエラーは、異なるRNバージョン間でwatchPosition APIが変更されたために発生しました。あなたの答えを正しいものとして受け入れる – Nipatiitti

関連する問題