【发布时间】:2023-03-20 02:00:02
【问题描述】:
我是新来的反应。我期待使用 Cordova 插件从 Web-App 构建一个移动应用程序。 所以在这种情况下,我想获取 App 位置。我正在尝试使用 react-native Geolocation。
我按照 Facebook 上的教程 here。但是当我尝试它时,它并没有显示我的位置。而是位置值从 unknown 更改为 {}。
我在这里可能会犯一些错误。
- 我正在使用代理
- 在浏览器中进行测试,而不是在 Android 或任何其他本机设备中。
- Facebook 链接说它是 react-native 但我的项目是由我认为不是 React-native 的 create-react-app 创建的
如果其中任何一个不是导致此错误的原因,请帮助。
我的代码,
import React,{Component} from 'react';
class GeoLocation extends React.Component {
state = { initialPosition: 'unknown',
lastPosition: 'unknown', };
watchID: ?number = null;
componentDidMount() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition( (position) => {
var initialPosition = JSON.stringify(position);
this.setState({initialPosition});
},
(error) => alert(JSON.stringify(error)), {
enableHighAccuracy: true, timeout: 20000, maximumAge: 1000
} );
this.watchID = navigator.geolocation.watchPosition((position) => {
var lastPosition = JSON.stringify(position);
this.setState({lastPosition});
});
}
}
componentWillUnmount() {
navigator.geolocation.clearWatch(this.watchID);
}
render() {
return (
<div className="main">
<h1> Initial position: {this.state.initialPosition} </h1>
<h1> Current position: {this.state.lastPosition} </h1>
</div>
);
}
}
export default GeoLocation;
【问题讨论】:
标签: reactjs react-native geolocation