Geolocation.getCurrentPosition()正在运行,但是在响应本机中得到错误的坐标,如何解决此问题?

时间:2019-12-10 10:15:19

标签: react-native react-native-android

navigator.Geolocation.getCurrentPosition()不起作用,它显示错误找不到导航仪,但是Geolocation.getCurrentposition()起作用,获取纬度经度值,但是它们是错误的,我该如何解决呢?

1 个答案:

答案 0 :(得分:1)

应为navigator.geolocation.getCurrentPosition

Geolocation API在React Native中作为全局 navigator 对象存在,就像在网络上一样。可通过 navigator.geolocation 进行访问。

import React, { Component } from "react";
import {
  Platform,
  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.welcome}>Find My Coords?</Text>
          <Text>Location: {this.state.location}</Text>
        </TouchableOpacity>
      </View>
    );
  }
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
    justifyContent: "center",
    alignItems: "center",
    backgroundColor: "#F5FCFF"
  },
  welcome: {
    fontSize: 20,
    textAlign: "center",
    margin: 10
  },
  instructions: {
    textAlign: "center",
    color: "#333333",
    marginBottom: 5
  }
});