摘要 最近又在使用百度地圖,所以就將過程中遇到的坑記錄下來,給大家參考,今天集成的是百度地圖的逆地理編碼功能
不得不說,現在的百度LBS部門是不是沒人了啊,時不時的搞出來一些不好用得東西
要做百度的逆地理編碼功能,肯定是要先啓動百度服務了,這些就不再扯了。
1
2
3
4
5
6
7
8
9
|
//初始化地理編碼類 注意:必須初始化地理編碼類 BMKGeoCodeSearch *_geoCodeSearch = [[BMKGeoCodeSearch alloc]init]; _geoCodeSearch.delegate = self; //初始化逆地理編碼類 BMKReverseGeoCodeOption *reverseGeoCodeOption= [[BMKReverseGeoCodeOption alloc] init]; //需要逆地理編碼的座標位置 reverseGeoCodeOption.reverseGeoPoint = cllocation.coordinate; [_geoCodeSearch reverseGeoCode:reverseGeoCodeOption]; |
這個是初始化的逆地理編碼的類 ,其中reverseGeoPoint是需要做逆地理編碼的poi座標點,然後執行reverseGeoCode這個方法,根據地理座標去獲取地理位置信息。
逆地理編碼的返回結果會再這個方法中返回,也就是個監聽方法
1
2
3
4
5
6
7
8
9
10
|
/** *返回反地理編碼搜索結果 *@param searcher 搜索對象 *@param result 搜索結果 *@param error 錯誤號,@see BMKSearchErrorCode */ - ( void )onGetReverseGeoCodeResult:(BMKGeoCodeSearch *)searcher result:(BMKReverseGeoCodeResult *)result errorCode:(BMKSearchErrorCode)error { //BMKReverseGeoCodeResult是編碼的結果,包括地理位置,道路名稱,uid,城市名等信息 } |
返回結果就是BMKReverseGeoCodeResult中得屬性值,具體屬性值 大家點擊類裏面去看,這個我就不多說了,好了,最簡單的逆地理編碼功能。
注意:逆地理編碼監聽方法不調用請查看百度key是否正確有效,是否授權成功。
當多類中使用地理編碼功能時,建議將這些功能創建公用管理類,只需單利初始化,在監聽方法中接收地理位置信息就可以了!