http://zanderzhang.gitcafe.io/2015/09/19/iOS-Andriod百度地圖仿百度外賣-餓了么-選擇我的地址-POI檢索/
百度外賣選擇送貨地址:
餓了么選擇送貨地址:
第一個(gè)圖,就是放一個(gè)UIImageView在MapView的中間,然后我們拖動(dòng)的時(shí)候下面地圖在跑.
-(void)addMiddleImage{
UIImageView *imaV=[UIImageView new];
imaV.center=_mapView.center;
imaV.bounds=CGRectMake(0, 0, 24, 36);
imaV.image=[UIImage imageNamed:@"poi_icon"];
[self.view addSubview:imaV];
}
取屏幕中心點(diǎn),也就是UIImageView的坐標(biāo):
geo.reverseGeoPoint=mapStatus.targetGeoPt;
geo是BMKReverseGeoCodeOption *geo; 移動(dòng)完成會(huì)調(diào)用:
-(void)mapStatusDidChanged:(BMKMapView *)mapView{
BMKMapStatus *mapStatus=[mapView getMapStatus];
geo.reverseGeoPoint=mapStatus.targetGeoPt;
[_geoSearcher reverseGeoCode:geo];
NSLog(@"mapStatusDidChanged");
}
回調(diào)函數(shù)獲得反編譯結(jié)果和周邊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];
}
第二個(gè)圖,我開始使用在線建議查詢,后面發(fā)現(xiàn)這個(gè)POI搜索更好用點(diǎn),它有三種,我使用的是POI城市內(nèi)搜索:
開始檢索:
bMKPoiSearch =[[BMKPoiSearch alloc]init];
bMKPoiSearch.delegate = self;
BMKCitySearchOption *option=[BMKCitySearchOption new];
// 城市內(nèi)搜索
option.city =city;
option.keyWord = searchText;
[bMKPoiSearch poiSearchInCity:option];
回調(diào)返回:
-(void)onGetPoiResult:(BMKPoiSearch )searcher result:(BMKPoiResult )poiResult errorCode:(BMKSearchErrorCode)errorCode{[suggestionSearchArr removeAllObjects];
[suggestionSearchArr addObjectsFromArray:poiResult.poiInfoList];
[_suggestionTable reloadData];}`
在poiResult里面有poiInfoList,成員是BMKPoiInfo,跟第一個(gè)圖一樣.
Andriod和這差不多,函數(shù)有所區(qū)別.有需要demo的朋友可以留郵箱.
新聞熱點(diǎn)
疑難解答
圖片精選