iOS-地圖優(yōu)化

地圖大頭針的優(yōu)化

摘要:調(diào)用了iOS (注:cluster : 美 /'kl?st?/  組, 集中) SDK地圖包的應(yīng)用會(huì)遇到這樣的問(wèn)題:當(dāng)?shù)貓D中的標(biāo)注信息過(guò)多時(shí),不僅地圖界面會(huì)擠滿紅色的標(biāo)注,還會(huì)影響用戶體驗(yàn)。對(duì)此開發(fā)者會(huì)使用REVClusterMap(這個(gè)已經(jīng)過(guò)時(shí),星星不多,年代久遠(yuǎn)) API等控件。近日,開發(fā)團(tuán)隊(duì)Applidium開放了由他們編寫的一套源代碼,用于解決這一問(wèn)題。
  • 1.在iOS SDK中最常用到的框架無(wú)疑是地圖工具包框架,它可以讓你輕松地將地圖嵌入到你的應(yīng)用程序中,并在地圖中添加標(biāo)注(地圖中的大頭針圖標(biāo))。眾所周知,在一般情況下,使用地圖工具包需要遵循以下方法:首先要實(shí)例化一個(gè)標(biāo)注(標(biāo)注需要實(shí)現(xiàn)MKAnnotation協(xié)議),然后將標(biāo)注添加到地圖中(一個(gè)MKMapView 實(shí)例)。最后你需要告訴地圖代理,標(biāo)注以什么形式顯示在地圖上。綜上來(lái)看,整個(gè)過(guò)程很簡(jiǎn)單。

  • 其實(shí)它也存在缺點(diǎn):當(dāng)需要顯示大量的標(biāo)注時(shí),這個(gè)過(guò)程簡(jiǎn)單的方法便開始惹麻煩了:你的設(shè)備會(huì)因?yàn)轱@示過(guò)多的標(biāo)注而反應(yīng)遲緩,而且當(dāng)你在平移或放大地圖時(shí),用戶體驗(yàn)會(huì)大打折扣。而且從可用性角度來(lái)看,當(dāng)?shù)貓D上顯示了大量標(biāo)注時(shí),很多大頭針會(huì)重疊起來(lái),用戶很難選中正確的注釋。

  • 解決辦法 : 我們可以通過(guò)Clustering方法(聚類算法)來(lái)解決這個(gè)問(wèn)題。Clustering就是將距離相近的幾個(gè)標(biāo)注合并顯示,比如照片、人名、商鋪。開發(fā)團(tuán)隊(duì)Applidium近日開放了由他們編寫的ADClusterMapView的代碼,用于解決這一問(wèn)題。

  • 地圖大頭針優(yōu)化須知 : 實(shí)際上,iPhone內(nèi)置的應(yīng)用早已采用Clustering方法,但不幸的是,蘋果并沒有將這個(gè)它加入到開放的API中。不過(guò),現(xiàn)在已經(jīng)有一些可以實(shí)現(xiàn)Clustering的實(shí)例了,其中有需要收費(fèi)的,比如Superpin或者DTClusterMaker,也有開源的,比如REVClusterMap(2012年的已經(jīng)過(guò)時(shí),只有300多顆星星)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容