iOS關於高德SDK詳解和簡單使用

2022-08-21 19:33:07 字數 2555 閱讀 8634

1,系統自帶mapkit框架,這個框架維護性比較高,但是封裝起來比較繁雜。

下面我來總結一下我用高德sdk的心得,下面來看看使用流程

3,新增sdk進自己的專案(工程)裡,新增的時候注意路徑問題,新增完高德sdk之後,我們還需要新增一些系統自帶庫,有了這些才能支援高德sdk的執行,他們分別如下圖

4,執行環境的配置,在targets->build settings->other linker flaggs 中新增-objc。

5,接下來大家最關心的地方來了,那就是怎麼實現顯示地圖的**,下面我們就來看看裡面的核心類,

首先我們要現實地圖,mamapview這是實現地圖的關鍵類,下面看怎麼來展示地圖在我們的專案裡面,我們這裡先說說2d的實現吧,

- (void

- (maannotationview *)mapview:(mamapview *)mapview viewforannotation:(id

)annotation

annotationview.canshowcallout= yes; //

設定氣泡可以彈出,預設為 no

annotationview.animatesdrop = yes; //

設定標註動畫顯示,預設為 no

annotationview.draggable = yes; //

設定標註可以拖動,預設為 no annotationview.pincolor = mapinannotationcolorpurple;

return

annotationview;

}return

nil;

}- (void)mapview:(mamapview *)mapview didupdateuserlocation:(mauserlocation *)userlocation

根據位址插入地圖上面乙個標註,標註初始化的時候我們傳入了乙個經緯度,

定位得到位址,定位可以得到經緯度,標註在地圖上面,但是目的是輸出位址,

那麼這兩個都涉及到了乙個共同的問題,乙個是將經緯度轉出位址,乙個是根據位址轉出經緯度,那麼這兩個是乙個逆向過程,我們下面我們看看怎麼實現這個過程的,在地圖開發中,這個就是我們所謂的地理編碼和反編碼。

現在我們今天講的是高德sdk,那麼用的編碼過程也是

- (void

)viewdidload

#pragma mark 地理編碼成功的**

- (void)ongeocodesearchdone:(amapgeocodesearchrequest *)request response:(amapgeocodesearchresponse *)response

nsstring *string = [nsstring stringwithformat:@"

%ld"

, response.count];

for (amaptip *tip in response.geocodes)

}

反向地理編碼跟正向基本一致下面是**

_search = [[amapsearchapi alloc] initwithsearchkey:@"

a2e716827857a145e86e99ea08cfe15f

" delegate:self]; //

初始化搜尋

amapregeocodesearchrequest *georequest = [[amapregeocodesearchrequest alloc] init]; //

構造乙個request物件

georequest.searchtype = amapsearchtype_regeocode; //

設定為反地理編碼樣式

georequest.location = [amapgeopoint locationwithlatitude:39.000 longitude:116.00];//

設定所在地裡位置的經緯度

georequest.radius = 1000;//

搜尋半徑

georequest.requireextension = yes;//

是否返回擴充套件資訊,預設為 no

[_search amapgeocodesearch:georequest]; //

發起反地理編碼

#pragma mark 反地理編碼成功

- (void)onregeocodesearchdone:(amapregeocodesearchrequest *)request response:(amapregeocodesearchresponse *)response

}

在對今天的技術點做乙個總結,

1,實現地圖的展示,

2,插入標註,插入的時候要給經緯度

3,定位服務,定位服務獲取的是經緯度,

4,地理編碼和反編碼

5,定位,標註這兩個點要注意,一般我們都是給定乙個位址想得到標註在地圖上面,那麼我們必須對其進行地理編碼,定位獲取的經緯度,我們需要看到的是位址,那麼我們要將經緯度反地理編碼成位址

今天高德sdk的簡單實用就到這裡了,如果想實現自定義圖層,搜尋路徑,這些請參看高德sdk官方文件。

整合高德sdk檢視交通路況

trafficsearch trafficsearch new trafficsearch this trafficsearch.settrafficsearchlistener this roadtrafficquery roadtrafficquery new roadtrafficquery ...

高洛德著色

首先,乙個最重要的光照模型lambert,圖在第434頁,r 2 n 點乘 l n l,的是反射光向量,n是法線向量,l是逆光源向量.另外,可以使用blinn模型來模擬反射光,h l v l v 高洛德著色的過程大概如下 vs著色器 vs output out vs output 0 float3 ...

高德最新poi各省列表 高德歷史poi各省列表

年份 省 省 poi aoi 資訊點 向量邊界 圍欄 2005 2020 重慶市 500000 poi aoi 資訊點 向量邊界 圍欄 2005 2020 雲南省 530000 poi aoi 資訊點 向量邊界 圍欄 2005 2020 上海市 310000 poi aoi 資訊點 向量邊界 圍欄 ...