不得不说,现在的百度LBS部门是不是没人了啊,时不时的搞出来一些不好用得东西
要做百度的逆地理编码功能,肯定是要先启动百度服务了,这些就不再扯了。
BMKGeoCodeSearch *_geoCodeSearch = [[BMKGeoCodeSearch alloc]init]; _geoCodeSearch.delegate = self; BMKReverseGeoCodeOption *reverseGeoCodeOption= [[BMKReverseGeoCodeOption alloc] init]; reverseGeoCodeOption.reverseGeoPoint = cllocation.coordinate; [_geoCodeSearch reverseGeoCode:reverseGeoCodeOption];
这个是初始化的逆地理编码的类 ,其中reverseGeoPoint是需要做逆地理编码的poi坐标点,然后执行reverseGeoCode这个方法,根据地理坐标去获取地理位置信息。
逆地理编码的返回结果会再这个方法中返回,也就是个监听方法
/** *返回反地理编码搜索结果 *@param searcher 搜索对象 *@param result 搜索结果 *@param error 错误号,@see BMKSearchErrorCode */ - (void)onGetReverseGeoCodeResult:(BMKGeoCodeSearch *)searcher result:(BMKReverseGeoCodeResult *)result errorCode:(BMKSearchErrorCode)error;
返回结果就是BMKReverseGeoCodeResult中得属性值,具体属性值 大家点击类里面去看,这个我就不多说了,好了,最简单的逆地理编码功能。
注意:逆地理编码监听方法不调用请查看百度key是否正确有效,是否授权成功。
当多类中使用地理编码功能时,建议将这些功能创建公用类,功能单利初始化,只需要在监听方法中接收地理位置信息就可以了!
暂时就这些了,大家有什么不明白的,可以留言,必回,技术就要多交流!