zoukankan      html  css  js  c++  java
  • 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的朋友可以留邮箱.

  • 相关阅读:
    Anaconda和Miniconda的安装
    并联谐振电路频率阻抗及计算曲线带宽案例摘要
    TEM波
    Android Studio实现简单考试应用程序
    android studio实现简单考试应用程序
    Android Studio的简易计算器界面设计
    时谐变换
    简要理解什么是趋肤效应
    c盘清理
    如何把Visual Studio完全安装在其他磁盘
  • 原文地址:https://www.cnblogs.com/this-is-Frank/p/4822896.html
Copyright © 2011-2022 走看看