navigator.geolocation的三个静态方法进去获取地理位置的操作,
分别是:getCurrentPosition watchPosition,clearWatch,
1. 在IOS平台上,在项目的info.plist文件中要有NSLocationWhenInUseUsageDescription键。
2. 在Android平台上,在项目的AndroidManifest.xml文件中要有下列权限:
3. 修改好后 重新编译下 react-native run-ios(android)
- navigator.geolocation.getCurrentPosition(this.getPositionResult,this.logError,para);
- //请求获取地理位置信息,结果视情况异步交给两个回调函数中的一个
- this.watchID= navigator.geolocation..watchPosition(this.getPositionResult)
- //启动地理位置变化监视器。
componentWillUnmount(){
navigator.geolocation.clearWatch(this.watchID)
//推出前,关闭地理位置变化监视器
}
this.getPositionResult(position){
console.log(aposition ) //处理得到的地址位置信息,
}
logError(error){
console.log(error )//处理位置信息发生的错误
}
成功获取地址位置时,回调函数收到一个地位位置的对象。
{
coords:{
accuracy:65,
….
}
mocked:true/false //false表示当前位置数据来自手机定位设备,可靠
}
mocked为true时 ,表示是伪数据,伪造手机的位置应用