知識補(bǔ)充:
地理解析:把普通用戶能看懂的字符串地址轉(zhuǎn)換成經(jīng)度和緯度改艇;
反地理編碼:把經(jīng)度緯度轉(zhuǎn)換成普通的字符串地址劲蜻;
為此iOS為地址解析提供了CLGeocoder工具類儡羔。
地理編碼:
反地理編碼:
自定義錨點(diǎn):
iOS的錨點(diǎn)只是一個紅色的頭針焕济,但有時候我們需要自定義錨點(diǎn)的外觀。對于iOS的地圖而言亦镶,錨點(diǎn)實(shí)際上由兩個部分組成日月。一是錨點(diǎn)信息:錨點(diǎn)信息包括錨點(diǎn)的位置標(biāo)題副標(biāo)題等信息,這些信息由MKAnnotation對象代表缤骨。二是錨點(diǎn)控件:錨點(diǎn)控件決定地圖上顯示的錨點(diǎn)外觀爱咬,包括錨點(diǎn)圖片等。
代碼如下:
獲取導(dǎo)航線路
MKDirections類绊起,該類可通過MKDirectionsRequest向apple服務(wù)器發(fā)送導(dǎo)航請求精拟,apple服務(wù)器將會返回一條或多條導(dǎo)航線路,然后通過覆蓋層把其中一條或者多條導(dǎo)航線路繪制在地圖上虱歪,這樣可以提醒用戶進(jìn)行導(dǎo)航蜂绎。
利用CLGeocoder進(jìn)行地址解析,將用戶輸入的地址解析成CLPlacemark笋鄙,利用MKDirections根據(jù)起始點(diǎn)师枣,結(jié)束點(diǎn)獲取導(dǎo)航路線,調(diào)用覆蓋層繪制導(dǎo)航線路局装。
總結(jié):
MapKit框架的主要作用就是iOS應(yīng)用中增加地圖功能坛吁,mapkit框架的基礎(chǔ)部分就是MKMapKit,MKMapViewDelegate,通過這些API即可在應(yīng)用中增加地圖并處理地圖加載相關(guān)事件铐尚。除此之外拨脉,如果地圖上添加錨點(diǎn),則需要借助MKAnnotation協(xié)議宣增,MKAnnotation和MKPinAnnotationView;如果希望在地圖上添加覆蓋物玫膀,則需要借助于MKOverlay協(xié)議和MKOverlayRenderer的各種子類。