简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网

我猜去全部机翻+个人修改补充+demo测试的形式,对expo进行一次大补血!欢迎加入expo兴趣学习交流群:597732981

【之前我写过一些列关于expo和rn入门配置的东i西,大家可以点击这里查看:从零学习rn开发

相关文章:

Expo大作战(一)--什么是expo,如何安装expo clinet和xde,xde如何使用

Expo大作战(二)--expo的生命周期,expo社区交流方式,expo学习必备资源,开发使用expo时关注的一些问题

Expo大作战(三)--针对已经开发过react native项目开发人员有针对性的介绍了expo,expo的局限性,开发时项目选型注意点等

Expo大作战(四)--快速用expo构建一个app,expo中的关键术语

Expo大作战(五)--expo中app.json 文件的配置信息

Expo大作战(六)--expo开发模式,expo中exp命令行工具,expo中如何查看日志log,expo中的调试方式

Expo大作战(七)--expo如何使用Genymotion模拟器

Expo大作战(八)--expo中的publish以及expo中的link,对link这块东西没有详细看,大家可以来和我交流

更多>>

写在二十三章以后的话,之前的翻译,不管如何,好与不好,终究是告一段落,也把expo基础理论的东西又深入的理解了一遍,后续expo大作战系列将主要介绍expo sdk的api。


位置Location

该模块允许从设备读取地理位置信息。 您的应用可以轮询当前位置或订阅位置更新事件。

在尝试获取之前,您必须先获得访问用户位置的权限。 为此,您需要使用Permissions API。 在下面的例子中你可以看到这一点。

Expo.Location.getCurrentPositionAsync(options)

获取设备的当前位置。

参数

option(object) -

选项图:

  • enableHighAccuracy(boolean) - 是否启用高精度模式。对于低精度的实施可以避免消耗大量功率的地理位置提供商(如GPS)。
  • maximumAge(数字) - (仅限Android)。如果指定,则允许以毫秒为单位返回先前缓存的最旧位置。如果未指定,则始终获取新位置。在iOS上,此选项将被忽略,并且总是返回新的位置。

返回

返回包含以下字段的对象:

coords(对象) - 位置的坐标,包含以下字段:

  • latitude (number)  - 以度为单位的纬度。
  • longitude (number) - 以度为单位的经度。
  • altitude (number)  - WGS 84参考椭球面以上的高度(米)。
  • accuracy (number) - 位置的不确定性半径,以米为单位。
  • altitudeAccuracy(number) - 海拔高度值的准确度,单位为米(仅限iOS)。
  • heading (number)) - 此设备的水平行进方向,以度为单位开始测量,以正北为单位并沿指南针顺时针方向继续。因此,北部是0度,东部是90度,南部是180度,依此类推。
  • speed (number) - 设备的瞬时速度,单位为米/秒。

timestamp (number) - 获取此位置信息的时间,以时间为单位,以毫秒为单位。

Expo.Location.watchPositionAsync(options, callback)

从设备订阅位置更新。请注意,更新只会在应用程序处于前台时发生。背景位置跟踪计划中,但尚未实施。

参数

options(object) -

选项图:

  • enableHighAccuracy(boolean) - 是否启用高精度模式。对于低精度的实施可以避免消耗大量功率的地理位置提供商(如GPS)。
  • timeInterval(number) - 每次更新之间以毫秒为单位等待的最短时间。
  • distanceInterval(number) - 仅当位置以米为单位改变至少该距离时才接收更新。

callback(function) -

每个位置更新都会调用此函数。它只传递一个参数:包含以下字段的对象:

coords(对象) - 位置的坐标,包含以下字段:

  • latitude (number)  - 以度为单位的纬度。
  • longitude (number) - 以度为单位的经度。
  • altitude (number)  - WGS 84参考椭球面以上的高度(米)。
  • accuracy (number) - 位置的不确定性半径,以米为单位。
  • altitudeAccuracy(number) - 海拔高度值的准确度,单位为米(仅限iOS)。
  • heading (number)) - 此设备的水平行进方向,以度为单位开始测量,以正北为单位并沿指南针顺时针方向继续。因此,北部是0度,东部是90度,南部是180度,依此类推。
  • speed (number) - 设备的瞬时速度,单位为米/秒。

timespan(number) - 获取此位置信息的时间,以时间为单位,以毫秒为单位。
返回

返回具有一个字段的订阅对象:

  • remove(function) - 不带任何参数调用此函数来删除此订阅。该回调将不再被称为位置更新。

Expo.Location.getProviderStatusAsync()
检查位置提供者的状态。

返回

返回包含以下字段的对象:

  • locationServicesEnabled(boolean) - 是否启用位置服务。
  • gpsAvailable(boolean)(仅限android) - 如果GPS提供者可用,如果是,则位置数据将来自GPS。
  • networkAvailable(boolean)(仅限android) - 如果网络提供者可用,如果是,则位置数据将来自蜂窝网络。
  • passiveAvailable(boolean)(仅限android) - 如果被动提供者可用,如果是,则位置数据将被动地确定。

Expo.Location.getHeadingAsync()

从设备获取当前的朝向信息

参数

没有

返回

对象:

  • magHeading(数字) - 以度为单位的磁北测量
  • trueHeading(number) - 衡量真正的北方度(需要位置权限,如果没有给出则返回-1)
  • 准确度(数字) - 指南针的校准程度。
    •   3:高精度,2:中等精度,1:低精度,0:无
    •   IOS参考:3:<20度不确定度,2:<35度,1:<50度,0:> 50度

Expo.Location.watchHeadingAsync(callback)

指定从设备指南针更新

参数

callback(function) -

每个指南针更新都会调用该函数。它只传递一个参数:包含以下字段的对象:

  • magHeading(数字) - 以度为单位的磁北测量
  • trueHeading(number) - 衡量真正的北方度(需要位置权限,如果没有给出则返回-1)
  • accuracy (number)  - 指南针的校准程度。
    •   3:高精度,2:中等精度,1:低精度,0:无
    •   iOS参考:3:<20度不确定度,2:<35度,1:<50度,0:> 50度

返回

返回具有一个字段的订阅对象:

remove(function) - 不带任何参数调用此函数来删除此订阅。该回调将不再被称为位置更新。

Expo.Location.geocodeAsync(address)

将地址字符串编码到经纬度位置。

注意:地理编码消耗资源,必须合理使用。一次创建太多请求可能会导致错误,因此必须对其进行正确管理。

在Android上,您必须在使用地理编码之前向用户请求位置权限(Expo.Permissions.LOCATION)。
参数

adress(string) - 表示地址的字符串,例如。 “贝克街伦敦”(address (string) — A string representing address, eg. “Baker Street London”)
返回

返回经过地理编码的位置对象的数组(大多数情况下其大小为1),并包含以下字段:

latitude (number) - 以度为单位的纬度。
longitude (number) - 以度为单位的经度。
altitude (number)  - WGS 84参考椭球面以上的高度(米)。
accuracy (number) - 位置的不确定性半径,以米为单位。

Expo.Location.reverseGeocodeAsync(location)

将地址解析为邮政地址。

注意:地理编码消耗资源,必须合理使用。一次创建太多请求可能会导致错误,因此必须对其进行正确管理。
在Android上,您必须在使用地理编码之前向用户请求位置权限(Expo.Permissions.LOCATION)。
参数

location(object)- 表示位置的对象:

  • latitude (number)  - 反转地理代码的位置的纬度,以度为单位。
  • longitude (number) - 反转地理代码的位置的经度,以度为单位。

返回

返回包含以下字段的地址对象的数组(大多数情况下其大小为1):

  • city (string) 城市(字符串) - 地址的城市名称。
  • street (string) 街道(字符串) - 地址的街道名称。
  • region (string)  区域(字符串) - 地址的区域/区域名称。
  • postalCode (string) 邮政编码(字符串) - 地址的邮政编码。
  • country (string) 国家(字符串) - 地址的国家/地区名称。
  • name (string) 名称(字符串) - 地址的名称,例如“塔桥”。

Expo.Location.setApiKey(apiKey)

设置Google API密钥以使用地理编码API。此方法对于没有Google Play服务的Android设备非常有用,因此无需Geocoder服务。使用Google的API设置密钥之后就可以了。

参数

apiKey(string) - 从Google开发者网站收集的API密钥。


下一张继续介绍,这一篇主要介绍了:expo sdk api之Location欢迎大家关注我的微信公众号,这篇文章是否被大家认可,我的衡量标准就是公众号粉丝增长人数。欢迎大家转载,但必须保留本人博客链接!

 

Expo大作战(三十五)--expo sdk api之Location!的更多相关文章

  1. Expo大作战(三十九)--expo sdk api之 DocumentPicker,Contacts(获取手机联系人信息),Branch

    简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...

  2. Expo大作战(三十八)--expo sdk api之 FileSystem(文件操作系统)

    简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...

  3. Expo大作战(三十六)--expo sdk api之 ImagePicker,ImageManipulator,Camera

    简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...

  4. Expo大作战(三十四)--expo sdk api之LinearGradient(线性渐变),KeepAwake(保持屏幕不休眠),IntentLauncherAndroid,Gyroscope,

    简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...

  5. Expo大作战(三十二)--expo sdk api之Noifications

    简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...

  6. Expo大作战(二十五)--expo sdk api之Admob

    简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...

  7. Expo大作战(三十)--expo sdk api之Permissions(权限管理模块),Pedometer(计步器api)

    简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...

  8. Expo大作战(二十九)--expo sdk api之registerRootComponent(注册跟组件),ScreenOrientation(屏幕切换),SecureStore,

    简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...

  9. Expo大作战(二十八)--expo sdk api之Speach(语音文字转换),Segment

    简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...

随机推荐

  1. 分布式作业 Elastic-Job 快速上手指南,从理论到实战一文搞定!

    Elastic-Job支持 JAVA API 和 Spring 配置两种方式配置任务,这里我们使用 JAVA API 的形式来创建一个简单的任务入门,现在都是 Spring Boot 时代了,所以不建 ...

  2. Python常用模块—— Colorama模块

    简介 Python的Colorama模块,可以跨多终端,显示字体不同的颜色和背景,只需要导入colorama模块即可,不用再每次都像linux一样指定颜色. 1. 安装colorama模块 pip i ...

  3. 【2019北京集训六】路径(path) 二分+DP

    此题niubi! 题目大意:给你一颗n个点的点带权无根树,现在请您进行以下两步操作: 1,选择一个$[0,T]$之间的整数$C$,并令所有的点权$wi$变为$(wi+C)%MOD$ 2,选择若干条点不 ...

  4. __getattr__()

    定义了__getattr__(),当访问object不存在的属性时会调用该方法 不定义访问不存在的属性时会报 AttributeError eg: class Cat(object): def __i ...

  5. Rsync文件同步工具

    前段时间因公司需求,需要把备份的文件进行同步保存,后面就想到了我们大家都最熟悉的文件同步工作Rsync,于是就捣鼓了一下午时间,然后总结了下大概过程和参数详情. 首先了解了下rsync同步的大致原理: ...

  6. ACM学习<二>

    穷举算法思想:     一句话:就是从所有可能的情况,搜索出正确的答案. 步骤:     1.对于一种可能的情况,计算其结果.     2.判断结果是否满足,YES计算下一个,no继续步骤1,然后判断 ...

  7. win32进程概念之句柄表,以及内核对象.

    句柄表跟内核对象 一丶什么是句柄表什么是内核对象. 1.句柄表的生成 我们知道.我们使用CreateProcess 的时候会返回一个进程句柄.以及线程句柄. 其实在调用CreateProcess的时候 ...

  8. ajaxFileUpload带参数提交(亲测可用)

    使用ajaxFileUpload上传文件时,有时需要带参数提交,网上有很多资料说使用data,但其实要使用data带参数是需要修改的,否则后台是获取不到的. 分析原因: ajaxFileUpload为 ...

  9. snmp自定义OID与文件下载----服务器端配置

    客户端使用命令工具:snmpwalk 服务端开启服务 snmp service.下载安装 net-snmp. 最近做了一些工作,记性较差感觉还是记下来比较好,毕竟网上能查到的有用的资料太少了. 自定义 ...

  10. Django 学习笔记(三) --- HTML 模版加载 css、js、img 静态文件

    人生苦短 ~ Tips:仅适用于 Python 3+(反正差别不大,py2 改改也能用).因为据 Python 之父 Guido van Rossum 说会在 2020 年停止对 Python 2 的 ...