iOS —— 百度地图反检索失败
地理编码
地理编码指的是将地址信息建立空间坐标关系的过程。又可分为正向地理编码和反向地理编码。
正向地理编码指的是由地址信息转换为坐标点的过程。
反向地理编码服务实现了将地球表面的地址坐标转换为标准地址的过程。反向地理编码提供了坐标定位引擎,帮助用户通过地面某个地物的坐标值来反向查询得到该地物所在的行政区划、所处街道、以及最匹配的标准地址信息。通过丰富的标准地址库中的数据,可帮助用户在进行移动端查询、商业分析、规划分析等领域创造无限价值。
正向地理编码和反向地理编码示例如下:
-(void)viewDidLoad { //初始化检索对象 _searcher =[[BMKGeoCodeSearch alloc]init]; _searcher.delegate = self; BMKGeoCodeSearchOption *geoCodeSearchOption = [[BMKGeoCodeSearchOption alloc]init]; geoCodeSearchOption.city= @"北京市"; geocodeSearchOption.address = @"海淀区上地10街10号"; BOOL flag = [_searcher geoCode:geoCodeSearchOption]; [geoCodeSearchOption release]; if(flag) { NSLog(@"geo检索发送成功"); } else { NSLog(@"geo检索发送失败"); } //发起反向地理编码检索 //CLLocationCoordinate2D pt = (CLLocationCoordinate2D){39.915, 116.404}; //BMKReverseGeoCodeOption *reverseGeoCodeSearchOption = [[ //BMKReverseGeoCodeOption alloc]init]; //reverseGeoCodeSearchOption.reverseGeoPoint = pt; //BOOL flag = [_searcher reverseGeoCode:reverseGeoCodeSearchOption]; //[reverseGeoCodeSearchOption release]; //if(flag) //{ // NSLog(@"反geo检索发送成功"); //} //else //{ // NSLog(@"反geo检索发送失败"); //} } //实现Deleage处理回调结果 //接收正向编码结果 - (void)onGetGeoCodeResult:(BMKGeoCodeSearch *)searcher result:(BMKGeoCodeResult *)result errorCode:(BMKSearchErrorCode)error{ if (error == BMK_SEARCH_NO_ERROR) { //在此处理正常结果 } else { NSLog(@"抱歉,未找到结果"); } } //接收反向地理编码结果 //-(void) onGetReverseGeoCodeResult:(BMKGeoCodeSearch *)searcher result: //(BMKReverseGeoCodeResult *)result //errorCode:(BMKSearchErrorCode)error{ // if (error == BMK_SEARCH_NO_ERROR) { // 在此处理正常结果 // } // else { // NSLog(@"抱歉,未找到结果"); // } //} //不使用时将delegate设置为 nil -(void)viewWillDisappear:(BOOL)animated { _searcher.delegate = nil; }
在我反向地理编码的时候的,模拟器和真机都是检索失败,查找资料,发现在百度地图开发平台创建的应用里面的安全码和项目里的bundle id 不一样,所以导致检索失败,改成一样,检索成功。