react native 官網(wǎng)介紹了這個(gè) api Geolocation 但是這個(gè)api只能返回 經(jīng)緯度 所以要把經(jīng)緯度 通過(guò)逆地理位置轉(zhuǎn)義 http://recode.ditu.aliyun.com/jsdoc/geocode_api.html 可通過(guò)這個(gè)阿里的開(kāi)放接口
成都創(chuàng)新互聯(lián)長(zhǎng)期為上1000+客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開(kāi)放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為寶山企業(yè)提供專業(yè)的網(wǎng)站制作、網(wǎng)站設(shè)計(jì),寶山網(wǎng)站改版等技術(shù)服務(wù)。擁有10多年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開(kāi)發(fā)。在 react native 中,我們所用的是react native 自帶的api定位功能,無(wú)需引入第三方j(luò)s。
react native 定位是通過(guò)Geolocation這個(gè)模塊來(lái)實(shí)現(xiàn)的。想了解更多關(guān)于Geolocation的知識(shí)請(qǐng)點(diǎn)擊下面 Geolocation自行了解,這里我們主要將他的幾個(gè)方法。
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)
第一個(gè)方法是獲取第一次定位時(shí)的位置信息,第一個(gè)為成功時(shí)的回掉函數(shù),還有error時(shí)的回掉,第三個(gè)是傳狀態(tài)的。
在請(qǐng)求成功函數(shù)中有以下屬性:
在請(qǐng)求失敗函數(shù)中有4種情況(err.code狀態(tài)值):
1為用戶拒絕定位請(qǐng)問(wèn)
2暫時(shí)獲取不到位置信息
3為請(qǐng)求超時(shí)
4未知錯(cuò)誤
第三個(gè)options是可選參數(shù),屬性如下:
enableHighAccuracy——指示瀏覽器獲取高精度的位置,默認(rèn)為false。當(dāng)開(kāi)啟后,可能沒(méi)有任何影響,也可能使瀏覽器花費(fèi)更長(zhǎng)的時(shí)間獲取更精確的位置數(shù)據(jù)。
timeout——指定獲取地理位置的超時(shí)時(shí)間,默認(rèn)不限時(shí)。單位為毫秒。
maximumAge——最長(zhǎng)有效期,在重復(fù)獲取地理位置時(shí),此參數(shù)指定多久再次獲取位置。默認(rèn)為0,表示瀏覽器需要立刻重新計(jì)算位置。
static watchPosition(success, error?, options?)