react native 定位
在 react native 中,我们所用的是react native 自带的api定位功能,无需引入第三方js。 static watchPosition(success,error?,options?) static clearWatch(watchID) 第一个方法是获取第一次定位时的位置信息,第一个为成功时的回掉函数,还有error时的回掉,第三个是传状态的。 经度 : coords.longitude 1为用户拒绝定位请问 enableHighAccuracy——指示浏览器获取高精度的位置,默认为false。当开启后,可能没有任何影响,也可能使浏览器花费更长的时间获取更精确的位置数据。 static watchPosition(success,error?,options?)
是多次改变了位置信息时才会触发,一般触发的可能性可能用户多次刷新数据,如一个人行车到其他城市,这时如果设置一个监听函数,只要watchid不一样,就会不断的触发 由于可能会出现缓存的情况,所以Geolocation 为我们提供了一个可以清除缓存的方法watchPosition(),改方法是 用于上一次的定位信息进行清除的。 对了,要启动react native 的定位功能的话,如果你是android 用户,你需要先在 <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
示例: _getPosition(){
navigator.geolocation.getCurrentPosition(
(position) => {
var initialPosition = JSON.stringify(position);
this.setState({initialPosition});
alert(initialPosition);
},(error) => alert(JSON.stringify(error)),{enableHighAccuracy: true,timeout: 20000,maximumAge: 1000}
);
watchID = navigator.geolocation.watchPosition((position) => { var lastPosition = JSON.stringify(position); this.setState({lastPosition}); }); }
这里注意的是navigator.geolocation中的navigator不是react native 中导航器的navigtor,这里navigator.geolocation整体作为一个对象 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |