反应原生GeoLocation null引用错误
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了反应原生GeoLocation null引用错误相关的知识,希望对你有一定的参考价值。
我使用以下代码尝试获取当前位置:
componentDidMount() {
this.watchID = navigator.geolocation.watchPosition((position) => {
let region = {
latitude: position.coords.latitude,
longitude: position.coords.longitude,
latitudeDelta: 0.00922*1.5,
longitudeDelta: 0.00421*1.5,
enableHighAccuracy: true
}
this.onRegionChange(region, region.latitude, region.longitude);
});
}
我得到了:
Attempt to invoke interface method 'boolean abi26_0_0.com.facebook.react.bridge.ReadableMap.hasKey(java.lang.String)' on a null object reference
这就是触发这条线:
this.watchID = navigator.geolocation.watchPosition((position) => {
有什么我需要导入这个工作可能吗?我在网上找不到任何关于此的内容。谢谢!
答案
经过几个小时的搜索,我终于把它钉了起来。
如果您正在使用CRNA,就像我一样(create-react-native-app就是您构建应用程序的方式),您需要完成函数调用的所有部分。这些是(成功,错误,选项)。下面的代码是如何实现所有这些部分并删除此错误。
componentDidMount() {
this.watchId = navigator.geolocation.watchPosition(
(position) => {
this.setState({
latitude: position.coords.latitude,
longitude: position.coords.longitude,
error: null,
});
},
(error) => this.setState({ error: error.message }),
{ enableHighAccuracy: true, timeout: 20000, maximumAge: 1000, distanceFilter: 10 },
);
}
以上是关于反应原生GeoLocation null引用错误的主要内容,如果未能解决你的问题,请参考以下文章
在反应原生地图中使用 Geolocation.getCurrentPosition 时应用程序崩溃
反应原生 react-native-mauron85-background-geolocation:processReleaseResources FAILED
反应原生 navigator.geolocation.getCurrentPosition 问题