位置访问超时,无法在本机反应中使用位置

时间:2019-01-23 10:37:40

标签: javascript reactjs react-native

我的应用程序中正在运行地理位置。在我正在使用的小米设备中,效果很好。我在其他2台设备上尝试过,但出现了位置请求超时错误。这是我的代码:

import React, { Component } from 'react'
import { View, AsyncStorage, Dimensions, PermissionsAndroid } from 'react-native';

const { width, height } = Dimensions.get('window')


const ASPECT_RATIO = width / height
const LATITUDE_DELTA = 0.0922
const LONGITUDE_DELTA = LATITUDE_DELTA * ASPECT_RATIO

class App extends Component {

  constructor(props) {
    super(props)

    this.state = {
      initialPosition: {
        latitude: null,
        longitude: null,
        latitudeDelta: null,
        longitudeDelta: null
      }
    }
  }

  requestLocationPermission = async () => {
    try {
      const granted = await PermissionsAndroid.request(
        PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION,
        {
          'title': 'Location Permission',
          'message': 'This App needs access to your location ' +
                     'so we can know where you are.'
        }
      )
      if (granted === PermissionsAndroid.RESULTS.GRANTED) {
        console.log("You can use locations ")

        navigator.geolocation.getCurrentPosition((position) => {
          let lat = parseFloat(position.coords.latitude)
          let long = parseFloat(position.coords.longitude)
          
          let initialRegion = {
            latitude: lat,
            longitude: long,
            latitudeDelta: LATITUDE_DELTA,
            longitudeDelta: LONGITUDE_DELTA
          }
    
          this.setState({ initialPosition: initialRegion })
          this.setState({ markerPosition: initialRegion })
        },
          (error) => alert(JSON.stringify(error)),
          { enableHighAccuracy: false, timeout: 5000, maximumAge: 10000  }
        )
      } else {
        console.log("Location permission denied")
      }
    } catch (err) {
      console.warn(err)
    }
  }

  componentDidMount() {
    this.requestLocationPermission()
  }



}



export default App

一些其他信息:

  • 原生版本:0.57.8
  • 平台:Android
  • 开发工具:Android SDK v27

我尝试将enableHighAccuracy设置为false,但这没有帮助。我得到的错误是这样的:

error image

0 个答案:

没有答案