• iOS-Andriod百度地图仿百度外卖-饿了么-选择我的地址-POI检索/


    http://zanderzhang.gitcafe.io/2015/09/19/iOS-Andriod百度地图仿百度外卖-饿了么-选择我的地址-POI检索/

    百度外卖选择送货地址: 饿了么选择送货地址:

    百度地图api官网

    第一个图,就是放一个UIImageViewMapView的中间,然后我们拖动的时候下面地图在跑. 

    -(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];

    }

     

    取屏幕中心点,也就是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的朋友可以留邮箱.

  • 相关阅读:
    linux下光标定位和清屏函数
    使用NHibernate的时候出现“指定的转换无效”的错误
    UI 界面:技术决定一切
    BeamTarget红外线的末尾
    Chicken的代码解剖:6 PlayerController
    kismet模块创建
    Projectile重构
    关卡设计师优化关卡
    一些主类的继承关系
    EA iOS平台《质量效应》《死亡空间》的界面
  • 原文地址:https://www.cnblogs.com/this-is-Frank/p/4822896.html
Copyright © 2020-2023  润新知