不得不说,现在的百度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是编码的结果,包括地理位置,道路名称,uid,城市名等信息
}
返回结果就是BMKReverseGeoCodeResult中得属性值,具体属性值 大家点击类里面去看,这个我就不多说了,好了,最简单的逆地理编码功能。
注意:逆地理编码监听方法不调用请查看百度key是否正确有效,是否授权成功。
当多类中使用地理编码功能时,建议将这些功能创建公用管理类,只需单利初始化,在监听方法中接收地理位置信息就可以了!
暂时就这些了,大家有什么不明白的,可以留言,必回,技术就要多交流!