iOS system location
1,WiFi定位,通過查詢一個(gè)WiFi路由器的地理位置的信息,比較省電;iPhone,Ipod touch 和iPad都可以。
2,蜂窩式移動(dòng)電話基站定位,通過移動(dòng)運(yùn)營商基站定位,只有iPhone,3G版本的iPod touch和iPad可以采用。
3,GPS衛(wèi)星定位,通過3~4顆GPS衛(wèi)星位置定位,最為準(zhǔn)確,但是耗電量大,不能遮擋,iPhone,iPod touch和iPad都可以采用。
iOS不像android系統(tǒng)在定位服務(wù)編程時(shí)可以指定采用哪種途徑進(jìn)行定位。iOS的API把底層這些細(xì)節(jié)屏蔽掉了,開發(fā)人員和用戶并不知道現(xiàn)在設(shè)備采用哪種方式進(jìn)行定位,iOS系統(tǒng)會根據(jù)設(shè)備的情況和周圍的環(huán)境,采用一太最佳的解決方案。這個(gè)方案是這樣的:如果能夠接收GPS信息,那么設(shè)備優(yōu)先采用GPS定位,否則采用WiFi或蜂窩基站定位,在WiFi和蜂窩基站之間優(yōu)先使用WiFi,如果無法連接WiFi才使用蜂窩基站定位。
一、結(jié)論
iOS系統(tǒng)的定位不能指定使用哪種定位類型,第三方sdk是在系統(tǒng)定位的基礎(chǔ)上獲取系統(tǒng)定位的結(jié)果。蘋果為了保護(hù)用戶隱私和定位接口Api的簡化高效,采用混合定位,不向外提供具體的定位類型,只提供最終數(shù)據(jù)。
二、定位
GPS定位
優(yōu)點(diǎn):精度最高,信息全,可獲取到經(jīng)緯度、海拔高度、方向角等。
缺點(diǎn):在室內(nèi)、高架橋下等GPS信號弱的地方定位就會出現(xiàn)偏差。
基站定位
略...
WiFi定位
略...
三、iOS系統(tǒng)定位
iOS系統(tǒng)的而定位綜合了基站、GPS和WiFi定位。
iOS的地圖定位SDK不支持對于基站、GPS或者WiFi定位的設(shè)置。目的是為了保護(hù)用戶隱私、綜合提高定位精確度。
四、高德定位
高德、百度等在iOS中定位的SDK都是基于iOS系統(tǒng)定位封裝的產(chǎn)物,由于受到iOS系統(tǒng)定位的限制,只能讀取到iOS系統(tǒng)定位的結(jié)果,而不能區(qū)分是GPS定位還是基站定位等具體的某中定位方式。
高德定位SDK通過GPS+基站定位+WiFi的混合定位模式進(jìn)行定位。
高德地圖SDK不支持對定位類型的設(shè)置,只能設(shè)置定位精度。
- 高德定位有如下設(shè)置:
設(shè)置最小定位距離,使得司機(jī)位置不發(fā)生明顯變化時(shí)不定位,可以一定程度上緩解司機(jī)位置不動(dòng)時(shí)定位漂移問題。
///設(shè)定定位的最小更新距離。單位米,默認(rèn)為 kCLDistanceFilterNone,表示只要檢測到設(shè)備位置發(fā)生變化就會更新位置信息。
@property(nonatomic, assign) CLLocationDistance distanceFilter;
設(shè)置定位精度為最高。
///設(shè)定期望的定位精度。單位米,默認(rèn)為 kCLLocationAccuracyBest。定位服務(wù)會盡可能去獲取滿足desiredAccuracy的定位結(jié)果,但不保證一定會得到滿足期望的結(jié)果。 \n注意:設(shè)置為kCLLocationAccuracyBest或kCLLocationAccuracyBestForNavigation時(shí),單次定位會在達(dá)到locationTimeout設(shè)定的時(shí)間后,將時(shí)間內(nèi)獲取到的最高精度的定位結(jié)果返回。
@property(nonatomic, assign) CLLocationAccuracy desiredAccuracy;
五、最后
通過坐標(biāo)點(diǎn)的抽稀、去噪等可以將偏差較大的點(diǎn)過濾掉。