廢話不多說(shuō)先上代碼。
關(guān)于定位
iOS中關(guān)于定位,有三種模式:
- 基站定位
由于每個(gè)基站都有一個(gè)唯一標(biāo)識(shí)符,所以蘋(píng)果服務(wù)器通過(guò)這個(gè)唯一的標(biāo)識(shí)符來(lái)定位當(dāng)前設(shè)備的位置,精度不是很高,但是效率較快。 - wifi定位
與基站識(shí)別的方式類(lèi)似,通過(guò)WiFi連接后,獲取到mac地址,然后在蘋(píng)果服務(wù)器中確定一個(gè)位置,這個(gè)精度稍微比基站的獲取到的精度更高。 - GPS定位
這個(gè)就是通過(guò)GPS衛(wèi)星和設(shè)備中的GPS終端進(jìn)行通訊,然后精確的定位。這種定位的精度是最高的,但是耗電量等也是最大的,然后也不能被其他的覆蓋遮擋。
關(guān)于坐標(biāo)系的問(wèn)題
- WGS-84:國(guó)際上的GPS以及iOS定位的坐標(biāo)系;
- GCS-02:國(guó)內(nèi)和高德定位的坐標(biāo)系(對(duì)地圖數(shù)據(jù)進(jìn)行加密偏移處理);
- BD-09:百度定位的坐標(biāo)系(百度地圖偏移多一次,仿佛記得轉(zhuǎn)換成了火星坐標(biāo)。);
如果直接用國(guó)內(nèi)的坐標(biāo)放到iOS地圖上,會(huì)出現(xiàn)偏差,所以獲取到坐標(biāo)點(diǎn)后需要進(jìn)行坐標(biāo)的轉(zhuǎn)換處理。
gpx文件
利用Xcode的模擬定位調(diào)試功能,文件配置是就修改掉GPS的經(jīng)緯度參數(shù),配置如下:
Product->Scheme->Edit Scheme->Options->Default Location ,選擇剛才創(chuàng)建的GPX File,allow location simulation需要打上勾。
scheme的配置
注意:
這需要開(kāi)發(fā)者賬號(hào),然后不能長(zhǎng)時(shí)間的運(yùn)行,我試了下 ,大概有半個(gè)小時(shí)。
實(shí)測(cè)
微信定位
定位到的地址是平壤。。。。刺殺鑫胖。。。。(玩笑)
這里不單單是微信,其他的app都可以,這里的demo已經(jīng)把GPS的參數(shù)都修改掉了,然后其他的app在調(diào)用GPS的時(shí)候,參數(shù)都是已經(jīng)被修改過(guò)的,然后是顯示的定位就是被修改掉的定位。
上班打卡不怕了,老婆查崗不怕了,朋友圈裝逼更溜了。