由于未定义的getCurrentPosition,反应本机地理位置不起作用

Posted

技术标签:

【中文标题】由于未定义的getCurrentPosition,反应本机地理位置不起作用【英文标题】:react native geolocation does not work because of undefined getCurrentPosition 【发布时间】:2019-10-28 09:55:24 【问题描述】:

当试图检索用户的位置时,它显示一个错误:'无法读取属性 getCurrentPosition' of undefined。

import React, Component from 'react'
import View, Text, StyleSheet, Image, ScrollView, SafeAreaView from 'react-native';
import Topnavbar from './TopNavbar'

class googleMapsImages extends Component 
    constructor(props)
        super(props)
        this.state = 
            ready: false, 
            where: lat: null, lng: null,
            error: null
        
    
    componentDidMount()
        let geoOptions = 
            enableHighAccuracy: true,
            timeOut: 20000,
            maximumAge: 60 * 60 * 24
        
        this.setState(
            ready: false,
            error: null
        );

        navigator.geolocation.getCurrentPosition( 
            this.geoSucces, 
            this.geoFailure,
            geoOptions)
        

        geoSucces = (position) => 
            this.setState(ready: true)
        

        geoFailure = (err) => 
            this.setState(error: err.message)
        

文档说它不需要导入,所以我看不出我在哪里遗漏了什么?

【问题讨论】:

【参考方案1】:

npm install geolocation from react-native-community 然后执行 navigator.geolocation = require('@react-native-community/geolocation'); 在 react native >=0.60

的版本中,地理位置默认不可用

【讨论】:

查看后,这是正确的解决方案。谢谢!【参考方案2】:

我使用以下方法修改了我的用法以解决此问题

import Geolocation from '@react-native-community/geolocation'


Geolocation.getCurrentPosition(handleSuccess, handleError, geoReqOptions)

【讨论】:

以上是关于由于未定义的getCurrentPosition,反应本机地理位置不起作用的主要内容,如果未能解决你的问题,请参考以下文章

使用 navigator.geolocation.getCurrentPosition();同步的

navigator.geolocation.getcurrentPosition() 未获取纬度和经度值

如果未授予/拒绝访问,则 navigator.geolocation.getCurrentPosition 超时

在javascript中分配地图坐标返回未定义

从异步函数react-native获取未定义

node.js - ReferenceError:导航器未定义