浏览器版本低!无法浏览完整内容,建议升级或更换浏览器。

iOS 地图SDK

百度地图SDK是一套应用程序接口, 通过调用地图SDK接口,开发者可以轻松访问百度地图的服务和数据,构建功能丰富、交互性强的地图类应用程序。


地理编码指的是将地址信息建立空间坐标关系的过程。又可分为正向地理编码和逆地理编码。

地理编码(即地址转坐标)

正向地理编码指的是由地址信息转换为坐标点的过程。该功能适用于根据用户输入的地址确认用户具体位置的场景,常用于配送人员根据用户输入的具体地址找地点。

-(void)viewDidLoad
{
    _searcher =[[BMKGeoCodeSearch alloc]init];
    _searcher.delegate = self;
    //发起地理位置检索
    BMKGeoCodeSearchOption *geoCodeSearchOption = [[BMKGeoCodeSearchOption alloc]init];
    geoCodeSearchOption.address = @"此处填写您需要检索的地址";
    geoCodeSearchOption.city = @"北京";
    BOOL flag = [_searcher geoCode:geoCodeSearchOption];
    [geoCodeSearchOption 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(@"抱歉,未找到结果");
    }
}

//不使用时将delegate设置为 nil
-(void)viewWillDisappear:(BOOL)animated
{
    _searcher.delegate = nil;
}
逆地理编码(即坐标转地址)

逆地理编码服务实现了将地址坐标转换为标准地址的过程。逆地理编码提供了坐标定位引擎,帮助用户通过地面某个地物的坐标值来反向查询得到该地物所在的行政区划、所处街道,召回周边地标类POI服务,以及最匹配的标准地址信息。通过丰富的标准地址库中的数据,可帮助用户在进行移动端查询、商业分析、规划分析等领域创造无限价值。

常用于根据定位的坐标来获取该地点的位置详细信息,与定位功能是黄金搭档。

    -(void)viewDidLoad    
{      
    //初始化检索对象    
    _searcher =[[BMKGeoCodeSearch alloc]init];    
    _searcher.delegate = self;    
    //发起逆地理编码检索
    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) 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;      
}
  

Tips:如何获取一个坐标点周边的主要poi点(如周围的建筑物,而不是街道信息)

使用逆地理编码检索,其检索结果中有poilist

iOS 类参考查看BMKReverseGeoCodeResult类 NSArray * _poiList