React Native Maps followUserLocation 坐标
Posted
技术标签:
【中文标题】React Native Maps followUserLocation 坐标【英文标题】:React Native Maps followUserLocation coordinates 【发布时间】:2017-01-23 09:15:42 【问题描述】:大家好,我需要一些关于如何在启用时获取用户坐标的帮助
关注用户位置
在
地图视图
。有没有办法做到这一点,或者有没有可能的替代方案?
我已经做过这样的事情了:
import DeviceEventEmitter from 'react-native';
import RNALocation from 'react-native-android-location';
import MapView from 'react-native-maps';
componentDidMount()
DeviceEventEmitter.addListener('updateLocation', function(e: Event)
console.log(e);
this.setState(lng: e.Longitude, lat: e.Latitude );
.bind(this));
RNALocation.getLocation();
已经使用 React Native Geolocation https://facebook.github.io/react-native/docs/geolocation.html 但似乎没有任何效果。它只给我用户的初始位置,当用户位置发生变化时它不会给我一些更新。
我什至使用setInterval
继续调用 API,以便它可以为我提供有关用户位置的新更新,但坐标仍然没有改变。
我使用假 GPS 移动我的位置或模拟我的位置。 .请帮忙,非常感谢。
【问题讨论】:
【参考方案1】:您可以使用 navigator.geolocation.watchPosition (https://developer.mozilla.org/en-US/docs/Web/API/Geolocation/watchPosition)
const options = options =
enableHighAccuracy: false,
timeout: 5000,
maximumAge: 0
;
navigator.geolocation.watchPosition((lastPosition) =>
this.setState(lng: lastPosition.coords.longitude, lat: lastPosition.coords.latitude );
, (error) =>
console.log('Error', error)
, options);
【讨论】:
【参考方案2】:不管怎样,我都解决了。由于我无法使用移动设备的 GPS 收听用户位置。我所做的是我使用了来自 React Native 地理位置的代码
navigator.geolocation.getCurrentPosition(
(position) =>
var initialPosition = JSON.stringify(position);
this.setState(initialPosition);
,
(error) => alert(JSON.stringify(error)),
enableHighAccuracy: true, timeout: 20000, maximumAge: 1000
);
每 1 秒循环一次,然后在坐标发生变化时更新坐标状态(纬度和经度)。到目前为止,它工作顺利。 :)
【讨论】:
以上是关于React Native Maps followUserLocation 坐标的主要内容,如果未能解决你的问题,请参考以下文章
更新 react-native-maps 以使用 create-react-native-app
react native - react-native-maps initialRegion 不起作用