TypeError:undefined不是在react-native-google-places-autocomplete中的对象(评估'navigator.geolocation.getCurrentPosition')

时间:2019-12-16 06:35:31

标签: react-native googleplacesautocomplete

我正尝试对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});
});

}

3 个答案:

答案 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
  1. 在react-native-google-places-autocomplete的侧节点模块中GooglePlacesAutocompleteExample.js文件中的类上方添加以下行

    navigator.geolocation = require('@react-native-community/geolocation'); 完成工作。.