反应本地世博项目与地理位置或地图上的Android错误

问题描述:

所以:反应本地世博项目与地理位置或地图上的Android错误

我有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, 
       }); 
     }); 
} 

它仍然正常工作而没有世博会的旧Android版本和它的工作原理与世博会取得了新的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上只有真正的设备。独立版和每个设备/仿真器上的expo版本。没有博览会的旧版本在其中的每一个上工作 – Nipatiitti

将一个空选项对象作为第三个参数传递给Android上的watchPosition

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

+0

很久以前我解决了这个问题。可以证实这有助于。出现此错误的原因是watchPosition API在不同的RN版本之间发生了变化。接受你的答案是正确的 – Nipatiitti