首页 文章

在Android上使用地理位置或MapView反应Native expo项目错误

提问于
浏览
2

所以:

我有React Native项目通过世博会 . 它有几个观点,airbnb mapView和类似的东西 . 它之前是纯粹的反应原生项目(在创建反应原生应用之前制造甚至是一件事)我最近将它移到了世博会 . 几乎一切都很好 . 对于世博会的转型对于iOS来说非常好,一切都按照预期的那样运作 . 但是当我尝试在Android手机上启动应用程序时,我得到了非常奇怪的错误 .

尝试在空对象引用上调用接口方法'boolean 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版本上正常工作,它适用于使用expo制作的新iOS版本 .

package.json依赖项

"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"
  }

我在这个完全相同的问题上提出了另外一个问题:watchPosition fails with react native expo他最终得出了与我相同的结论,但对他的问题几乎没有任何信息,没有答案/评论,所以我决定提出自己的问题 .

1 回答

相关问题