ReactNative 提供了一个定位API: Geolocation 用来获取设备所在的地理位置.

定位API遵循web标准。

iOS
你需要在Info.plist中增加NSLocationWhenInUseUsageDescription字段来启用定位功能。如果你使用react-native init创建项目,定位会被默认启用。

Android
要请求访问地理位置的权限,你需要在AndroidManifest.xml文件中加入如下一行:
< uses-permission android:name=”android.permission.ACCESS_FINE_LOCATION” />

方法

getCurrentPosition(geo_success: Function, geo_error?: Function, geo_options?: GeoOptions)

成功时会调用geo_success回调,参数中包含最新的位置信息。支持的选项:timeout (ms), maximumAge (ms), enableHighAccuracy (bool)

watchPosition(success: Function, error?: Function, options?: GeoOptions)

持续监听位置,每当位置变化之后都调用success回调。支持的选项:timeout (ms), maximumAge (ms), enableHighAccuracy (bool), useSignificantChanges (bool)

static clearWatch(watchID: number)

static stopObserving()

下面看一下使用方法:

    componentDidMount() {navigator.geolocation.getCurrentPosition((coords) => {this.setState(coords);console.log(coords)},(error) => console.error(error));this.watchID = navigator.geolocation.watchPosition((lastPosition) => {this.setState({lastPosition});});}

上面的log打印出来的是:

可见: 返回一个对象包含两个属性:
一个是coords,里面含有地理信息,
一个是timestamp对象,我不知道是干什么的..

<Text>纬度:{this.state.coords?this.state.coords.latitude:'获取中'}</Text>
<Text>经度:{this.state.coords?this.state.coords.longitude:'获取中'}</Text>

如此便能获取到经纬度信息了.

 this.watchID = navigator.geolocation.watchPosition((lastPosition) => {this.setState({lastPosition});});

这段代码是持续监听位置,每当位置变化之后都调用success回调.
如上面代码所示:每当位置变换时,我们回调方法里写的是改变state里的lastPosition .

如果有需要的话,也可以用到.
但是要记得退出的时候使用 clearWatch 方法清除哦

ReactNative 获取地理位置信息相关推荐

  1. html5实现获取地理位置信息并定位

    html5实现获取地理位置信息并定位 一.总结 一句话总结:获取地理位置是分两步:获取经纬度和根据经纬度获取地址信息 a.HTML5的Geolocation(地理位置功能(Geolocation AP ...

  2. flutter利用高德如何获取地理位置信息bug处理

    flutter中对于利用高德如何获取地理位置信息, 1.在高德开发平台,注册成为开发者,并获取key 2.安装依赖 对于如何安装第三方插件 请点击此处pub.dev amap_location 3.修 ...

  3. 百度api:根据经纬度获取地理位置信息

    调用百度api,根据经度和纬度获取地理位置信息,返回Json. C#代码: using Newtonsoft.Json; using Newtonsoft.Json.Linq; using Syste ...

  4. html5获取地理位置信息API

    html5获取地理位置信息API 在HTML5中,可以看下如何使用Geolocation API来获得用户的地理位置信息,如果该浏览器支持的话,且设备具有定位功能,就能够直接使用这组API来获取当前位 ...

  5. Android 获取地理位置信息 封装好了 直接用

    前言:花了一个早上研究了以下android获取经纬度,然后网上的参考资料都是杂七杂八,基本上都是过去几年的,现在我用 android6.0参照别人的结果发生好多错误,我的内心几乎是崩溃的.后来,不断百 ...

  6. 微信小程序获取地理位置信息

    // pages/list/list.js Page({/*** 页面的初始数据*/data: {nation: '',province: '',city: '',district: '',stree ...

  7. uniapp APPH5端获取地理位置信息(百度地图高德地图)

    APP&H5端获取地理位置信息 一.app端 1.在需要使用的页面中 onShow(){//#ifdef APP-PLUS// 获取定位信息this.getLocations();//#end ...

  8. 根据IP获取地理位置信息 — Golang

    根据IP获取地理位置信息 - Golang 1 介绍 1.1 ip2region 1.2 geoip2-golang 1.3 总结 2 使用 2.1 ip2region 2.2 geoip2-gola ...

  9. 手把手教你使用java对接微信公众号-获取地理位置信息

    公众号需要定位当前用户的地址位置,需要通过签名后返回的数据,前端将参数回调到微信服务器获取地理位置信息,官方文档说明(https://developers.weixin.qq.com/doc/offi ...

最新文章

  1. 【ACM】杭电OJ 1003。
  2. 修改mysql数据库编码
  3. VS2017 性能优化方法
  4. Resilience4j-轻量级熔断框架
  5. D3引擎用正则运算的方式,实现智能设备APP消息推送
  6. mysql设置catalog_catalog恢复目录介绍和配置
  7. c++中静态成员变量和静态成员函数
  8. 类似索引Model套Model之 iOS模型闲聊二
  9. 《算法导论》学习笔记——快速排序
  10. 中柏平板触摸驱动_要成绩也要玩乐,聊聊学生买平板那些事儿
  11. 广州大学机器学习与数据挖掘实验一:线性回归
  12. Mac电脑内存不足解决方法
  13. 用什么软件可以记录并提醒每天的工作任务?
  14. 北航学生因海淘填写学校地址遭封号!美国「制裁清单」影响开始深入校园!
  15. 物联网LoRa系列-13:无线电磁波概述以及核心概念的澄清(速度、频率、周期、波长、幅度、功率、相位、干涉)
  16. 【3D视觉原理】2-3D传感器原理
  17. SD省队集训2019Day11之“loopy”
  18. arcgis多面体要素转面_【干货】ArcGIS 9.3线转面的方法
  19. java-调用阿里身份证验证接口
  20. 自动编程软件面世 我们还需要程序员吗?

热门文章

  1. 轮胎行业通过APS实现自动排产
  2. QQ邮箱授权码和二代密保
  3. Topmobi接口协议
  4. 哪个软件能代替斐讯路由_斐讯路由app下载-斐讯路由app安卓版下载v7.2.0-聚侠网...
  5. 基于.NetCore开发博客项目 StarBlog - (12) Razor页面动态编译
  6. debug信息的认识
  7. vue引入echarts-liquidfill水滴图并批量动态加载
  8. java汇编代码段,新手求助,跪求各位大神解答,怎么把这段汇编转成java代码
  9. Qpython SL4A服务调用GPS定位获取获取位置信息
  10. 嵌入式Linux使用TFT屏幕:使用树莓派4B的MIPI-DSI接口点亮ST7701S屏幕