• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
    問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
    當前位置: 首頁 - 科技 - 知識百科 - 正文

    react native 獲取地理位置的方法示例

    來源:懂視網 責編:小采 時間:2020-11-27 22:08:57
    文檔

    react native 獲取地理位置的方法示例

    react native 獲取地理位置的方法示例:react native 官網介紹了這個 api Geolocation 但是這個api只能返回 經緯度 所以要把經緯度 通過逆地理位置轉義 http://recode.ditu.aliyun.com/jsdoc/geocode_api.html 可通過這個阿里的開放接口 在 react native 中,我們所用的是rea
    推薦度:
    導讀react native 獲取地理位置的方法示例:react native 官網介紹了這個 api Geolocation 但是這個api只能返回 經緯度 所以要把經緯度 通過逆地理位置轉義 http://recode.ditu.aliyun.com/jsdoc/geocode_api.html 可通過這個阿里的開放接口 在 react native 中,我們所用的是rea

    react native 官網介紹了這個 api Geolocation 但是這個api只能返回 經緯度 所以要把經緯度 通過逆地理位置轉義 http://recode.ditu.aliyun.com/jsdoc/geocode_api.html 可通過這個阿里的開放接口

    在 react native 中,我們所用的是react native 自帶的api定位功能,無需引入第三方js。

    react native 定位是通過Geolocation這個模塊來實現的。想了解更多關于Geolocation的知識請點擊下面 Geolocation自行了解,這里我們主要將他的幾個方法。

    static getCurrentPosition(geo_success, geo_error?, geo_options?)
    Invokes the success callback once with the latest location info. Supported options: timeout (ms), maximumAge (ms), enableHighAccuracy (bool) On Android, this can return almost immediately if the location is cached or request an update, which might take a while.

    static watchPosition(success, error?, options?)
    Invokes the success callback whenever the location changes. Supported options: timeout (ms), maximumAge (ms), enableHighAccuracy (bool), distanceFilter(m)

    static clearWatch(watchID)

    第一個方法是獲取第一次定位時的位置信息,第一個為成功時的回掉函數,還有error時的回掉,第三個是傳狀態的。
    在請求成功函數中有以下屬性:

  • 經度 : coords.longitude
  • 緯度 : coords.latitude
  • 準確度 : coords.accuracy
  • 海拔 : coords.altitude
  • 海拔準確度 : coords.altitudeAcuracy
  • 行進方向 : coords.heading
  • 地面速度 : coords.speed
  • 時間戳 : new Date(position.timestamp)
  • 在請求失敗函數中有4種情況(err.code狀態值):

    1為用戶拒絕定位請問
    2暫時獲取不到位置信息
    3為請求超時
    4未知錯誤

    第三個options是可選參數,屬性如下:

    enableHighAccuracy——指示瀏覽器獲取高精度的位置,默認為false。當開啟后,可能沒有任何影響,也可能使瀏覽器花費更長的時間獲取更精確的位置數據。

    timeout——指定獲取地理位置的超時時間,默認不限時。單位為毫秒。

    maximumAge——最長有效期,在重復獲取地理位置時,此參數指定多久再次獲取位置。默認為0,表示瀏覽器需要立刻重新計算位置。

    static watchPosition(success, error?, options?) 

    是多次改變了位置信息時才會觸發,一般觸發的可能性可能用戶多次刷新數據,如一個人行車到其他城市,這時如果設置一個監聽函數,只要watchid不一樣,就會不斷的觸發

    由于可能會出現緩存的情況,所以Geolocation 為我們提供了一個可以清除緩存的方法watchPosition(),改方法是 用于上一次的定位信息進行清除的。

    對了,要啟動react native 的定位功能的話,如果你是android 用戶,你需要先在AndroidManifest.xml中加入以下權限

    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

    具體實現

    import Geolocation from 'Geolocation';
    
     ......
    
     getlocal() {
     Geolocation.getCurrentPosition(
     val => {
     let ValInfo =
     '速度:' +
     val.coords.speed +
     '\n經度:' +
     val.coords.longitude +
     '\n緯度:' +
     val.coords.latitude +
     '\n準確度:' +
     val.coords.accuracy +
     '\n行進方向:' +
     val.coords.heading +
     '\n海拔:' +
     val.coords.altitude +
     '\n海拔準確度:' +
     val.coords.altitudeAccuracy +
     '\n時間戳:' +
     val.timestamp;
     this.setState({ LocalPosition: ValInfo });
     console.log("打印地理位置:"+`${val.coords.longitude},${val.coords.latitude}`)
     GET_GPRS({
     "l":`${val.coords.latitude},${val.coords.longitude}`,
     "type":111,
     }).then(res => {
     console.log(JSON.stringify(res))
     })
     },
     val => {
     let ValInfo = '獲取坐標失敗:' + val;
     this.setState({ LocalPosition: ValInfo }); //如果為空的話 沒允許開啟定位服務
    
     },
     );
     }
    
    

    這里的 GET_GPRS 是自己封裝的 fech請求

    記得開啟 位置訪問權限

    打印結果如下:

    聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    react native 獲取地理位置的方法示例

    react native 獲取地理位置的方法示例:react native 官網介紹了這個 api Geolocation 但是這個api只能返回 經緯度 所以要把經緯度 通過逆地理位置轉義 http://recode.ditu.aliyun.com/jsdoc/geocode_api.html 可通過這個阿里的開放接口 在 react native 中,我們所用的是rea
    推薦度:
    標簽: 位置 地址 方法
    • 熱門焦點

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 日韩精品一区二区三区中文| 精品无码国产一区二区三区51安| 老年人精品视频在线| 老司机精品影院91| 久久亚洲私人国产精品| 精品国产成人在线| 精品国产精品国产偷麻豆 | 国产高清日韩精品欧美激情| 久久66热人妻偷产精品9| 国产精品小视频免费无限app| 成人精品在线视频| 日产精品99久久久久久| 国产精品片在线观看手机版| 精品无码av一区二区三区| 精品久人妻去按摩店被黑人按中出 | 四虎永久在线精品国产馆V视影院| 亚洲精品自在在线观看| 思思久久99热免费精品6| 成人久久精品一区二区三区| 久久久久亚洲精品无码蜜桃| 一本色道久久88综合日韩精品| 久久精品国产WWW456C0M| 国产成人精品高清不卡在线| 久久精品国产91久久综合麻豆自制| 精品国产粉嫩内射白浆内射双马尾| 亚洲婷婷国产精品电影人久久| 久久久久久无码国产精品中文字幕| 国产91在线精品| 99精品久久久久久久婷婷| 国产在线精品一区二区不卡| jizzjizz国产精品久久| 国产综合精品女在线观看| 色久综合网精品一区二区| 亚洲精品无码精品mV在线观看| 午夜精品一区二区三区在线视 | 日产精品一线二线三线芒果| 中文精品久久久久人妻不卡| 亚洲码国产精品高潮在线| 日韩人妻精品无码一区二区三区 | 精品999久久久久久中文字幕 | 国产精品内射视频免费|