摘要
最近又在使用百度地图,所以就将过程中遇到的坑记录下来,给大家参考,今天集成的是百度地图的逆地理编码功能
不得不说,现在的百度LBS部门是不是没人了啊,时不时的搞出来一些不好用得东西
要做百度的逆地理编码功能,肯定是要先启动百度服务了,这些就不再扯了。
1
2
3
4
5
6
7
8
9
|
//初始化地理编码类
注意:必须初始化地理编码类
BMKGeoCodeSearch *_geoCodeSearch = [[BMKGeoCodeSearch alloc]init];
_geoCodeSearch.delegate = self;
//初始化逆地理编码类
BMKReverseGeoCodeOption *reverseGeoCodeOption= [[BMKReverseGeoCodeOption alloc] init];
//需要逆地理编码的坐标位置
reverseGeoCodeOption.reverseGeoPoint = cllocation.coordinate;
[_geoCodeSearch reverseGeoCode:reverseGeoCodeOption];
|
这个是初始化的逆地理编码的类 ,其中reverseGeoPoint是需要做逆地理编码的poi坐标点,然后执行reverseGeoCode这个方法,根据地理坐标去获取地理位置信息。
逆地理编码的返回结果会再这个方法中返回,也就是个监听方法
1
2
3
4
5
6
7
8
9
10
|
/**
*返回反地理编码搜索结果
*@param searcher 搜索对象
*@param result 搜索结果
*@param error 错误号,@see BMKSearchErrorCode
*/
- (
void
)onGetReverseGeoCodeResult:(BMKGeoCodeSearch *)searcher result:(BMKReverseGeoCodeResult *)result errorCode:(BMKSearchErrorCode)error
{
//BMKReverseGeoCodeResult是编码的结果,包括地理位置,道路名称,uid,城市名等信息
}
|
返回结果就是BMKReverseGeoCodeResult中得属性值,具体属性值 大家点击类里面去看,这个我就不多说了,好了,最简单的逆地理编码功能。
注意:逆地理编码监听方法不调用请查看百度key是否正确有效,是否授权成功。
当多类中使用地理编码功能时,建议将这些功能创建公用管理类,只需单利初始化,在监听方法中接收地理位置信息就可以了!