使用 geolocation react-native 时出错

Posted

技术标签:

【中文标题】使用 geolocation react-native 时出错【英文标题】:Error when using geolocation react-native 【发布时间】:2019-08-07 10:43:23 【问题描述】:

我正在使用地理定位,但出现错误:“未定义不是对象(正在评估 'navigator.geolocation.getCurrentPosition') 根据文档,不需要使用 react native 0.60 或更高版本导入 Geolocation。

版本: 反应原生 cli:2.0.1 反应原生:0.60.4

import React,  Component  from "react";
import 
  StyleSheet,
  Text,
  View,
  Alert,
  TouchableOpacity
 from "react-native";


export default class App extends Component 
  state = 
    location: null
  ;

  findCoordinates = () => 
    navigator.geolocation.getCurrentPosition(
      position => 
        const location = JSON.stringify(position);
        this.setState( location );
      ,
      error => Alert.alert(error.message),
       enableHighAccuracy: true, timeout: 20000, maximumAge: 1000 
    );
  ;

  render() 
    return (
      <View style=styles.container>
        <TouchableOpacity onPress=this.findCoordinates>
          <Text style=styles.text>Find My Coords?</Text>
          <Text>Location: this.state.location</Text>
        </TouchableOpacity>
      </View>
    );
  

【问题讨论】:

【参考方案1】:

我遇到了同样的问题,我认为从 0.60 及以上 navigator 开始不支持它,因此您必须使用 Geolocation

【讨论】:

以上是关于使用 geolocation react-native 时出错的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 GeoLocation 在地图上定位标记?

Cordova geolocation navigator.geolocation.getCurrentPosition 错误的窗口访问位置

使用 Geolocation 插件编译时出错

使用 navigator.geolocation 获取地理位置

必须使用 GeoLocation 类型的封闭实例来限定分配

geolocation.enableLocationRequest() 上的 nativescript-geolocation 崩溃