前面咱們配置好了SDK的環境,也在高德的官網中申請了AppKey:de5b39fb2b066ed80c51383bb3a1fe42,接下來咱們就能夠開始代碼的編寫,實現一個基本的地圖顯示了
|
前面咱們完成了地圖的基本展現和定位,下面咱們一塊兒來發掘地圖上的其餘功能。此次咱們來探索一下地圖中的搜索功能。
1.使用搜索功能,須要再添加一個搜索功能庫,這個庫能夠在高德的Demo文件中找到,添加到工程中能夠直接使用
2.添加完framework庫之後,就能夠直接使用了搜索功能了(經過關鍵字進行搜索)
(1)導入頭文件
#import <AMapSearchKit/AMapSearchAPI.h>
(2)導入使用到的協議 <AMapSearchDelegate>
(3)建立一個搜索類
<1>建立一個SeachAPI對象,傳入參數:appKey和回調對象實現者聲明
<2>建立一個搜索請求對象(設置請求的參數)
<3>搜索請求對象的屬性設置(搜索模式,搜索地點關鍵字,搜索城市,是否返回拓展信息)
(4)在回調中獲取搜索結果的信息
<1>回調中成功返回會有請求的對象信息和返回的對象信息
<2>先判斷是否具備所搜索的對象,若是有搜多結果,則打印處理搜索出來的結果
<3>打印一些有用的結果參數
<4>返回對象AMapPOI中的一些基本屬性(參數Model)
3.搜索功能的另一種形式(經過區域中心範圍搜索)
<1>一樣須要建立_search對象
<2>在配置請求信息時設置的屬性參數不一樣
<3>主要設置的搜索按照location返回搜索結果(經緯度設置)
<4>設置排序方式,使用按照距離遠近排序(近的排在前面)
5.在搜索請求添加約束條件
<1>filter爲request添加約束條件
<2>filter中的屬性costFilter約束消費的平均範圍
<3>屬性AMapRequireGroupbuy設置搜索行業的信息(這裏代表搜索全行業)
6.到這裏,搜索功能就基本結束了,具體的其餘功能,能夠查看高德地圖Demo中的MapViewPOI文件數組
接下來,須要瞭解一下高德地圖中的大頭針的簡單使用,來標示出咱們須要搜索的位置,和咱們本身的位置
1.大頭針的簡單建立
(1)建立一個大頭針的對象
(2)設置大頭針的座標位置
(3)設置大頭針的文本提示語
(4)把大頭針加入到數組中annotations爲裝載大頭針的數組
(5)把大頭針數組設置到mapView中
<1>設置mapView中的大頭針數組
<2>顯示加載到mapView中的大頭針
2.大頭針的自定義
在mapView的回調中,有從新設定mapView大頭針的方法
這裏回調中給出了大頭針對象和mapView對象
能夠根據這兩個參數生成一個大頭針的view對象,返回給mapView,mapView將自動改變大頭針的樣式
(1)大頭針的重用機制
這裏使用的大頭真重用機制與tableview中的重用機制相仿,當大頭針拖拽出界面之後,大頭真會被回收,用來顯示別的大頭針(這樣可使上千上萬的大頭針不須要一塊兒加載到mapView中,只是現實界面中所須要顯示的便可)
(2)大頭針的樣式改動
<1>canShowCallout:是否顯示選中時的狀態顯示(顯示設定好的標題)
<2>animatesDrop:拖動時是否具備動畫
<3>draggable:是否支持拖動
<4>rightCalloutAccessoryView:顯示在氣泡右側的view設定
<5>pinColor:大頭針的顏色,有MAPinAnnotationColorRed, MAPinAnnotationColorGreen, MAPinAnnotationColorPurple三種
<6>注意:拖動須要長按大頭針方可以使用(在容許拖動的狀態下)
app