我正尝试对Google地方使用 react-native-google-places-autocomplete ,同时我也希望用户当前位置。
但是我收到称为
的错误TypeError:未定义不是对象(正在评估“ navigator.geolocation.getCurrentPosition”)
我已经通过网络搜索解决方案,每个人都说 navigator.geolocation.getCurrentPosition 很好。
但不知道为什么它对我不起作用。
这是我的代码
componentDidMount() {
navigator.geolocation.getCurrentPosition(
position => {
const initialPosition = JSON.stringify(position);
let region = {
latitude: position.coords.latitude,
longitude: position.coords.longitude,
latitudeDelta: 0.0922,
longitudeDelta: 0.0421,
}
this.setState({initialPosition:region});
console.log("lat "+position.coords.latitude+" longi "+position.coords.longitude)
console.log("initialPosition")
console.log(this.state.initialPosition)
},
error => console.log("Error "+ JSON.stringify(error)),
{enableHighAccuracy: true, timeout: 20000, maximumAge: 1000},
);
this.watchID = Geolocation.watchPosition(position => {
const lastPosition = JSON.stringify(position);
this.setState({lastPosition});
});
}
答案 0 :(得分:2)
参考react-native documentation, 从本机0.58开始,本机团队建议使用@react-native-community/geolocation。并且不推荐使用本机0.58之前的地理位置API。
答案 1 :(得分:1)
1.npm安装@ react-native-community / geolocation --save
2.从'@ react-native-community / geolocation'导入地理位置;
3.navigator.geolocation.getCurrentPosition => Geolocation.getCurrentPosition
答案 2 :(得分:0)
我已经通过 @ react-native-community / geolocation 找到了解决方案。我已经完成了以下步骤。 1.通过以下方式安装@ react-native-community / geolocation:
npm install @react-native-community/geolocation --save
在react-native-google-places-autocomplete的侧节点模块中GooglePlacesAutocompleteExample.js文件中的类上方添加以下行
navigator.geolocation = require('@react-native-community/geolocation');
完成工作。.