美文网首页ios地图iOS开发·地图与定位篇iOS技术相关
百度地图集成_POi搜索和正反地理编码

百度地图集成_POi搜索和正反地理编码

作者: 小白哥有话说 | 来源:发表于2016-11-10 14:22 被阅读124次

    POI搜索分好多种,主要以城市内搜索为例讲解:

    一.POi搜索


    1.先说一下需要用到的类:

    BMKMapView:地图类

    BMKPoiSearch :搜索服务类

    BMKCitySearchOption :搜索包装的参数类

    2.搜索需要传递的参数为:以下4个

    1.city,所在的城市

    2.keyword,搜索的关键字(如美食,酒店等)

    3.pageCapacity,搜索的分页数量(默认为10,最多为50)

    4.pageIndex,搜索的页码(默认为0)


    3.各种代理方法调用顺序

    首先从整体来说:

    BMKCitySearchOption 的对象作为包装参数cityOption,通过BMKPoiSearch的对象self.poiSearch调用poiSearchInCity,

    BOOL flag =[self.poiSearch poiSearchInCity:cityOption]

    之后通过BMKSearchDelegate的onGetPoiResult:方法

    告诉用户获得到搜索返回的数组列表,在onGetPoiResult中包装成若干个大头针模型,之后把大头针模型添加到地图上,如:[self.mapView addAnnotations:annotionArray];

    分别先后调用了BMKMapViewDelegate 的viewForAnnotation: (目的:根据传过来的annotion生成对应的View)和didAddAnnotationViews: (之后添加到地图上)的2个方法,完成搜索到的信息在地图上展示的功能。

    综上:方法调用顺序为poiSearchInCit:------->onGetPoiResult------->viewForAnnotation(每添加一次调用一次)------->didAddAnnotationViews(每添加一次调用一次),最终完成了地图上的Poi(兴趣点)搜索功能。

    二.地理编码和反地理编码

    正向地理编码指的是:告诉地方名称,编码出经纬度

    反向地理编码指的是:告诉地理经纬度,编码出地方名称

    不要搞混了哦!

    1.用到的类:

    BMKMapView:地图类

    BMKGeoCodeSearch:地理反地理编码类

    BMKGeoCodeSearchOption:地理编码编码参数类

    BMKReverseGeoCodeOption:反地理编码编码参数类

    2.调用顺序:

    1.正向地理编码

    1.[self.geoSearch geoCode:geoSearchOption] 触发了正向地理编码

    通过BMKGeoCodeSearchDelegate 的onGetGeoCodeResult:方法获得到编码的信息(可以展示),也可以通过[self.mapView addAnnotation:item];调用BMKMapViewDelegate的viewForAnnotation:这个方法,在里面通过大头针模型生成大头针View展示到地图上,完成正向地理编码。

    2.反向地理编码

    同上:(只是代理方法稍微不同,详见Demo)

    相关文章

      网友评论

        本文标题:百度地图集成_POi搜索和正反地理编码

        本文链接:https://www.haomeiwen.com/subject/qncxpttx.html