MKMapView高德地圖使用--自定義大頭針患民、CalloutAnnotationView(一)

很多項(xiàng)目需求需要實(shí)現(xiàn)自定義大頭針和自定義的CalloutAnnotationView,這篇文章或許對(duì)很多需要的童鞋有幫助贬芥!先看看我做的效果圖


D05E6206-A050-48BC-B14B-13603BE3884C.png

這里面的大頭針和CalloutAnnotationView都是和系統(tǒng)的不一樣赶促,應(yīng)該能夠應(yīng)付大部分的場景社付,廢話不多說進(jìn)入正題。

首先童靴要先清楚這個(gè)MKAnnotation和MKAnnotationView兩者之間的關(guān)系燃箭,如果這個(gè)沒弄明白那就很難理解冲呢。我說說自己的理解--就是model和view的關(guān)系,大家可以試著琢磨下應(yīng)該不能理解招狸。上面的效果圖中不管是橙色的紅色的 還是彈出的不規(guī)則圖形其實(shí)都是大頭針,大家在使用蘋果系統(tǒng)的地圖時(shí)候都知道 大頭針有點(diǎn)擊事件的.第二要把MKMapView當(dāng)做平時(shí)經(jīng)常做的UITableView理解和使用敬拓。第三就是自己動(dòng)手。

先看看 第一層大頭針及上圖中紅色 藍(lán)色包括文字的大頭針.這些地圖的數(shù)據(jù)應(yīng)該都是服務(wù)器獲取的裙戏,則建立一個(gè)model接收這些數(shù)據(jù) 我這里定義了一個(gè)Location模型接收數(shù)據(jù)


Paste_Image.png

現(xiàn)在數(shù)據(jù)有了 那么就得和大頭針聯(lián)系起來了.怎么聯(lián)系呢乘凸?這里先不說,我們先來看看兩個(gè)函數(shù)的意義累榜,

WechatIMG1.jpeg
WechatIMG2.jpeg

上面我就說了 要把自定義大頭針的使用和UITableView來理解营勤,那么不難理解 上面第一個(gè)函數(shù)對(duì)應(yīng)的就是
- (UITableViewCell*)tableView:(UITableView*)tableView cellForRowAtIndexPath:(NSIndexPath\ *)indexPath
第二個(gè)函數(shù)就不用我說了 點(diǎn)擊事件。既然現(xiàn)在能夠明白點(diǎn)了那就進(jìn)入正題壹罚,我們既然可以把大頭針當(dāng)自定義cell來使用冀偶,那它肯定是可以重復(fù)用的,這個(gè)可以看下官方的API文檔里面寫的很清楚渔嚷,那我們來顯示第一層的自定義大頭針。
上面的模型我們已經(jīng)有了稠曼,現(xiàn)在就得和MKAnnotation產(chǎn)生關(guān)聯(lián)形病,既然是自定義那么肯定要?jiǎng)?chuàng)建一個(gè)繼承MKAnnotation的類 (原生的MKAnnotation只有三個(gè)屬性給你調(diào)用肯定無法滿足實(shí)際的項(xiàng)目需求)

WechatIMG3.jpeg

.m文件里面 直接set方法讓模型和這個(gè)ZLocationAnnotation賦值客年,代碼就懶得附上了。
通過上面截圖的兩個(gè)方法 我們應(yīng)該也看的出來 最終用戶看到了肯定是MKAnnotationView漠吻,前面也說了MKAnnotation和MKAnnotationView就是model和view的關(guān)系量瓜,現(xiàn)在model已經(jīng)有了,那就需要和MKAnnotationView進(jìn)行關(guān)聯(lián)。我這里是一個(gè)簡單自定義View通過xib拖線途乃。為什么我不直接自定義繼承MKAnnotationView的view呢绍傲?很簡單,沒有可以直接拖出一個(gè)MKAnnotationView啊耍共,這里提供下自定義View加載xib的方法是
[[[NSBundle mainBundle] loadNibNamed:@"xib名" owner:nil options:nil] lastObject];

WechatIMG4.jpeg

好 現(xiàn)在界面也已經(jīng)搭建了 剛剛說了xcode沒辦法直接拖出一個(gè)MKAnnotationView烫饼,那只能讓剛剛自定義view 和MKAnnotationView產(chǎn)生關(guān)聯(lián),那我們就得創(chuàng)建一個(gè)繼承MKAnnotationView的view试读,我這里是這么定義的


WechatIMG5.jpeg

要顯示剛剛xib自定義的View 就在初始化方法里面加進(jìn)去就可以了杠纵。這里要注意一點(diǎn),可能很多童靴遇到這個(gè)問題 點(diǎn)擊自定義的大頭針沒效果钩骇,有的重寫hit方法比藻,我采取第二種方法:

WechatIMG6.jpeg

大家可以看到 我將MKAnnotationView的bounds設(shè)置成和自定義的大頭針的View一樣大小,為什么很多童靴遇到大頭針點(diǎn)擊無效呢?就是因?yàn)樗目牲c(diǎn)擊范圍比較小倘屹,后面的兩個(gè)方法就是簡單的初始化賦值操作银亲。在配合剛剛說的顯示MKAnnotationView的代理方法 當(dāng)然 你得要調(diào)用 加載方法 addAnnotation才行。


WechatIMG7.jpeg

到此纽匙,你的自定義大頭針顯示是沒有問題了务蝠,至于自定義CalloutAnnotationView我下一集講。
謝謝哄辣!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末请梢,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子力穗,更是在濱河造成了極大的恐慌毅弧,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,997評(píng)論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件当窗,死亡現(xiàn)場離奇詭異够坐,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)崖面,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,603評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門条获,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人蒋失,你說我怎么就攤上這事四敞。” “怎么了简识?”我有些...
    開封第一講書人閱讀 163,359評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵赶掖,是天一觀的道長感猛。 經(jīng)常有香客問我,道長奢赂,這世上最難降的妖魔是什么陪白? 我笑而不...
    開封第一講書人閱讀 58,309評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮膳灶,結(jié)果婚禮上咱士,老公的妹妹穿的比我還像新娘。我一直安慰自己轧钓,他們只是感情好序厉,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,346評(píng)論 6 390
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著聋迎,像睡著了一般脂矫。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上霉晕,一...
    開封第一講書人閱讀 51,258評(píng)論 1 300
  • 那天庭再,我揣著相機(jī)與錄音,去河邊找鬼牺堰。 笑死拄轻,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的伟葫。 我是一名探鬼主播恨搓,決...
    沈念sama閱讀 40,122評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼筏养!你這毒婦竟也來了斧抱?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,970評(píng)論 0 275
  • 序言:老撾萬榮一對(duì)情侶失蹤渐溶,失蹤者是張志新(化名)和其女友劉穎辉浦,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體茎辐,經(jīng)...
    沈念sama閱讀 45,403評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡宪郊,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,596評(píng)論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了拖陆。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片弛槐。...
    茶點(diǎn)故事閱讀 39,769評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖依啰,靈堂內(nèi)的尸體忽然破棺而出乎串,到底是詐尸還是另有隱情,我是刑警寧澤速警,帶...
    沈念sama閱讀 35,464評(píng)論 5 344
  • 正文 年R本政府宣布灌闺,位于F島的核電站艰争,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏桂对。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,075評(píng)論 3 327
  • 文/蒙蒙 一鸠匀、第九天 我趴在偏房一處隱蔽的房頂上張望蕉斜。 院中可真熱鬧,春花似錦缀棍、人聲如沸宅此。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,705評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽父腕。三九已至,卻和暖如春青瀑,著一層夾襖步出監(jiān)牢的瞬間璧亮,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,848評(píng)論 1 269
  • 我被黑心中介騙來泰國打工斥难, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留枝嘶,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,831評(píng)論 2 370
  • 正文 我出身青樓哑诊,卻偏偏與公主長得像群扶,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子镀裤,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,678評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容