http://zanderzhang.gitcafe.io/2015/09/19/iOS-Andriod百度地圖仿百度外賣-餓了麼-選擇個人地址-POI檢索/php
百度外賣選擇送貨地址:
餓了麼選擇送貨地址:
ios
百度地圖api官網git
第一個圖,就是放一個UIImageView在MapView的中間,而後咱們拖動的時候下面地圖在跑. api
-(void)addMiddleImage{函數
UIImageView *imaV=[UIImageView new];spa
imaV.center=_mapView.center;blog
imaV.bounds=CGRectMake(0, 0, 24, 36);ci
imaV.image=[UIImage imageNamed:@"poi_icon"];rem
[self.view addSubview:imaV];get
}
取屏幕中心點,也就是UIImageView的座標:
geo.reverseGeoPoint=mapStatus.targetGeoPt;
geo是BMKReverseGeoCodeOption *geo; 移動完成會調用:
-(void)mapStatusDidChanged:(BMKMapView *)mapView{
BMKMapStatus *mapStatus=[mapView getMapStatus];
geo.reverseGeoPoint=mapStatus.targetGeoPt;
[_geoSearcher reverseGeoCode:geo];
NSLog(@"mapStatusDidChanged");
}
回調函數得到反編譯結果和周邊result.poiList:
-(void)onGetReverseGeoCodeResult:(BMKGeoCodeSearch *)searcher result:(BMKReverseGeoCodeResult *)result errorCode:(BMKSearchErrorCode)error{
[geoArr removeAllObjects];
[geoArr addObjectsFromArray:result.poiList];
if (result.poiList.count) {
BMKPoiInfo *info=result.poiList[0];
_city=info.city;
}
[_bottomTable reloadData];
}
第二個圖,我開始使用在線建議查詢,後面發現這個POI搜索更好用點,它有三種,我使用的是POI城市內搜索:
開始檢索:
bMKPoiSearch =[[BMKPoiSearch alloc]init];
bMKPoiSearch.delegate = self;
BMKCitySearchOption *option=[BMKCitySearchOption new];
// 城市內搜索
option.city =city;
option.keyword = searchText;
[bMKPoiSearch poiSearchInCity:option];
回調返回:
-(void)onGetPoiResult:(BMKPoiSearch )searcher result:(BMKPoiResult )poiResult errorCode:(BMKSearchErrorCode)errorCode{[suggestionSearchArr removeAllObjects];
[suggestionSearchArr addObjectsFromArray:poiResult.poiInfoList];
[_suggestionTable reloadData];}`
在poiResult裏面有poiInfoList,成員是BMKPoiInfo,跟第一個圖同樣.
Andriod和這差很少,函數有所區別.有須要demo的朋友能夠留郵箱.