Expo大作戰(三十五)--expo sdk api之Location!

来源:https://www.cnblogs.com/gdsblog/archive/2018/03/21/8616486.html
-Advertisement-
Play Games

簡要:本系列文章講會對expo進行全面的介紹,本人從2017年6月份接觸expo以來,對expo的研究斷斷續續,一路走來將近10個月,廢話不多說,接下來你看到內容,講全部來與官網 我猜去全部機翻+個人修改補充+demo測試的形式,對expo進行一次大補血!歡迎加入expo興趣學習交流群:597732 ...


簡要:本系列文章講會對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歡迎大家關註我的微信公眾號,這篇文章是否被大家認可,我的衡量標準就是公眾號粉絲增長人數。歡迎大家轉載,但必須保留本人博客鏈接!

 

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 前言 我們都知道,hbase是一個很有潛力的NoSql(Not Only Sql),1970年 E.F.Codd's提出的關係模型的論文 "A relational model of data for large shared data banks",這使得數據建模和應用程式編程更加簡單。 通過應用 ...
  • Oracle帳號:[email protected] Oracle密碼:Oracle123 ...
  • 簡要:本系列文章講會對expo進行全面的介紹,本人從2017年6月份接觸expo以來,對expo的研究斷斷續續,一路走來將近10個月,廢話不多說,接下來你看到內容,講全部來與官網 我猜去全部機翻+個人修改補充+demo測試的形式,對expo進行一次大補血!歡迎加入expo興趣學習交流群:597732 ...
  • 簡要:本系列文章講會對expo進行全面的介紹,本人從2017年6月份接觸expo以來,對expo的研究斷斷續續,一路走來將近10個月,廢話不多說,接下來你看到內容,講全部來與官網 我猜去全部機翻+個人修改補充+demo測試的形式,對expo進行一次大補血!歡迎加入expo興趣學習交流群:597732 ...
  • 一、Android 系統架構 Android 系統架構分為四層:Linux 內核層、系統庫層、應用框架層、應用層 1. Linux 內核層(Linux Kernel) 這一層提供的功能有:安全性、記憶體管理、進程管理、網路協議棧、驅動程式模型等 2. 系統庫層(Libraries) 這一層包括兩方面的 ...
  • 最近,我在HorizontalScrollview中使用scrollTo不起作用? ...... 以上省略N個字。 我只想說: 在使用scrollTo的時候,要先保證該HorizontalScrollview已經初始化完畢,要是無法保證,那麼,可以在HorizontalScrollview中這樣寫 ...
  • Swift,是蘋果於2014年WWDC(蘋果開發者大會)發佈的新開發語言,可與Objective-C共同運行於Mac OS和iOS平臺,用於搭建基於蘋果平臺的應用程式。它是一款易學易用的編程語言,而且它還是第一套具有與腳本語言同樣的表現力和趣味性的系統編程語言。Swift的設計以安全為出發點,以避免 ...
  • 圖層的樹狀結構 >巨妖有圖層,洋蔥也有圖層,你懂嗎?我們都有圖層 -- 史萊克 Core Animation其實是一個令人誤解的命名。你可能認為它只是用來做動畫的,但實際上它是從一個叫做*Layer Kit*這麼一個不怎麼和動畫有關的名字演變而來,所以做動畫這隻是Core Animation特性的冰 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...