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

iOS 地图SDK

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

云逆地理编码(云RGC),是以逆地理编码服务为基础,开放的一套个性化位置描述服务。

开发者可自定义用于进行逆地理编码计算的地理数据,以训练出最适用于真实业务场景的位置描述服务。如:坐标“40.055743,116.308243” 逆地理编码推荐结果为真实地物“百度大厦”,通过云逆地理编码服务,可将该坐标定义为“百度班车上车点”、“西二旗快递集中收发处”等更个性化的位置描述。

适用的业务场景

1、自定义业务地点的位置描述。如,专车、拼车类开发者可定义常用上下车地点,从而根据用户当前位置进行最优推荐,提升服务效率和用户体验。
2、自定义业务片区的位置描述。如,同城配送开发者通过定义服务网点区域,可快速计算出用户订单坐标所在网点的位置描述,同时也可作为参考依据实现订单自动分拣。
3、补充重点业务地区所需且未在地图上体现的基础地物或行业专类位置描述。如,社区服务类开发者需要根据用户所在位置的场景来推送定制服务,可按需定义或丰富小区周边公共设施。

使用云逆地理编码

三个步骤

ios-js1.png

LBS云RGC API对此功能的详细说明:

http://lbsyun.baidu.com/index.php?title=lbscloud/api/cloudrgc/about

云RGC调用方法,与云检索调用方式相同,方法如下

1初始化并发起检索
     //初始化云检索服务
_search = [[BMKCloudSearch alloc]init];
_search.delegate = self;
//构造云RGC检索信息类
    BMKCloudReverseGeoCodeSearchInfo *search = [[BMKCloudReverseGeoCodeSearchInfo alloc]init];
    search.geoTableId = 148136;//请换用自己的geoTableId
    search.reverseGeoPoint = CLLocationCoordinate2DMake(39.915, 116.404);
    //发起云RGC检索
    BOOL flag = [_search cloudReverseGeoCodeSearch:search];
    if (flag) {
        NSLog(@"云rgc检索发送成功");
    } else {
        NSLog(@"云rgc检索发送失败");
    }

2实现delegate方法,获取结果
     /**
 *返回云检索反geo检索结果
 *@param cloudRGCResult 搜索结果
 *@param type 返回结果类型: BMK_CLOUD_RGC_SEARCH
 *@param error 错误号,@see BMKCloudErrorCode
 */
- (void)onGetCloudReverseGeoCodeResult:(BMKCloudReverseGeoCodeResult *)cloudRGCResult searchType:(BMKCloudSearchType)type errorCode:(NSInteger)errorCode {
    NSLog(@"onGetCloudReverseGeoCodeResult:searchType==%d,error==%d", (int)type, (int)errorCode);
    if (errorCode == BMKErrorOk) {
        //成功获取结果
    } else {
        //检索失败
    }
}

注意事项

地图SDK中开发时,需注意以下几点:

同一个开发者账户下的ak,可共用此账户下的“位置数据表”, 换句话说,其他开发者账户下的ak,无法使用其他账户下的“位置数据表”。

开发过程中,可使用自有的开发账户下ak和“位置数据表”调试;但上线前,必须需更改为官方账户下的ak,即可调用官方“位置数据表”。

开发者可通过云存储服务维护更新位置数据,实时地在云逆地理编码中体现。

如请求“位置数据表”提示“返回参数错误”,请检查tableid 和坐标格式是否正确。