gpt4 book ai didi

javascript - 在 Android 上使用地理定位或 MapView react Native expo 项目错误

转载 作者:行者123 更新时间:2023-11-29 23:36:29 25 4
gpt4 key购买 nike

所以:

我已经通过 Expo 完成了 React Native 项目。它有几个 View ,airbnb mapView 和类似的东西。它以前是纯粹的 React Native 项目(甚至在 create-react-native-app 出现之前就制作了),我最近将它移到了 expo。几乎一切正常。向 expo 的转变对于 iOS 来说非常好,并且一切都按预期进行。但是当我尝试在 Android 手机上启动该应用程序时,我遇到了非常奇怪的错误。

尝试在空对象引用上调用接口(interface)方法“boolean abi20_0_0.com.facebook.react.bridge.ReadableMap.hasKey(java.lang.String)”

我认为这与查找位置的实际过程有关,而不是真正的 mapView,但我唯一改变的是:

从“react-native-maps”导入 MapView;从 'expo' 导入 { MapView };

这是用于查找位置的实际代码:

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

它仍然可以在没有expo的旧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他最终得出了与我相同的结论,但关于他的问题的信息很少,也没有答案/评论,所以我决定提出自己的问题。

最佳答案

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

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

关于javascript - 在 Android 上使用地理定位或 MapView react Native expo 项目错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46182627/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com