行政区检索

1.坐标检索行政区划

通过设置坐标为搜索条件,可以检索到坐标点所在的行政区划信息,实现方法如下:

(1)初始化并发起检索

   // 初始化检索对象,并签订协议
    FMDistrictSearch *search = [[FMDistrictSearch alloc] initWithBaseUrl:@"http://map.botaisoft.com/apis"];
    search.delegate = self;

    // 初始化检索条件
    FMDistrictLocationSearchOption *option = [[FMDistrictLocationSearchOption alloc] init];
    option.districtLocation = CLLocationCoordinate2DMake(39.915101, 116.403981);

    // 发起检索
    BOOL flag = [search districtSearchByLocation:option];
    if (flag) {
        NSLog(@"坐标检索行政区划成功");
    }else
    {
        NSLog(@"坐标检索行政区划失败");
    }

(2)在回调函数中处理数据

- (void)onGetDistrictInfoSearchResult:(FMDistrictSearch *)searcher result:(FMDistrictInfoSearchResult *)searchResult errorCode:(FMDistrictSearchErrorCode)errorCode
{
    NSLog(@"检索结果");
    if (errorCode == FM_DISTRICT_SEARCH_NO_ERROR) {
        // 处理返回的结果数据
    }
}

2.行政区编码检索行政区划

通过设置行政区编码为搜索条件,可以检索到坐标点所在的行政区划信息,实现方法如下:

(1)初始化并发起检索

// 初始化检索对象,并签订协议
    FMDistrictSearch *search = [[FMDistrictSearch alloc] initWithBaseUrl:@"http://map.botaisoft.com/apis"];
    search.delegate = self;

    // 初始化检索条件
    FMDistrictRegionSearchOption *option = [[FMDistrictRegionSearchOption alloc] init];
    option.districtRegion = 110000;

    // 发起检索
    BOOL flag = [search districtSearchByRegion:option];
    if (flag) {
        NSLog(@"检索行政区划成功");
    }else
    {
        NSLog(@"检索行政区划失败");
    }

(2)在回调函数中处理数据

- (void)onGetDistrictGeoSearchResult:(FMDistrictSearch *)searcher result:(FMDistrictGeoSearchResult *)searchResult errorCode:(FMDistrictSearchErrorCode)errorCode
{
    NSLog(@"检索结果");
    if (errorCode == FM_DISTRICT_SEARCH_NO_ERROR) {
        // 行政区属性信息
        FMDistrictPropertiesInfo *preInfo = searchResult.districtProperties;
        // 行政区几何体信息
        FMDistrictGeometryInfo *geoInfo = searchResult.districtGeometry;
    }
}

3.名称检索行政区划

通过设置行政区名称(省、市、县(区)级行政区划名称)为搜索条件,可以检索到坐标点所在的行政区划信息,实现方法如下:

(1)初始化并发起检索

    // 初始化检索对象,并签订协议
    FMDistrictSearch *search = [[FMDistrictSearch alloc] initWithBaseUrl:@"http://map.botaisoft.com/apis"];
    search.delegate = self;

    // 初始化检索条件
    FMDistrictCenterSearchOption *option = [[FMDistrictCenterSearchOption alloc] init];
    option.districtName = @"北京";

    // 发起检索
    BOOL flag = [search districtCenterSearchByName:option];
    if (flag) {
        NSLog(@"检索行政区划成功");
    }else
    {
        NSLog(@"检索行政区划失败");
    }

(2)在回调函数中处理数据

- (void)onGetDistrictGeoSearchResult:(FMDistrictSearch *)searcher result:(FMDistrictGeoSearchResult *)searchResult errorCode:(FMDistrictSearchErrorCode)errorCode
{
    NSLog(@"检索结果");
    if (errorCode == FM_DISTRICT_SEARCH_NO_ERROR) {
        // 行政区属性信息
        FMDistrictPropertiesInfo *preInfo = searchResult.districtProperties;
        // 行政区几何体信息
        FMDistrictGeometryInfo *geoInfo = searchResult.districtGeometry;
    }
}

4.关键字检索行政区划

通过设置关键字为搜索条件(例:河北->返回包含河北字段的省、市、县(区)级行政区划名称),可以检索到坐标点所在的行政区划信息,实现方法如下:

(1)初始化并发起检索

    // 初始化检索对象,并签订协议
    FMDistrictSearch *search = [[FMDistrictSearch alloc] initWithBaseUrl:FMGL_MAP_SearchURL];
    search.delegate = self;

    // 初始化检索条件
    FMDistrictNameSearchOption *option = [[FMDistrictNameSearchOption alloc] init];
    option.districtName = @"河北";

    // 发起检索
    BOOL flag = [search districtBoundSearchByName:option];
    if (flag) {
        NSLog(@"检索行政区划成功");
    }else
    {
        NSLog(@"检索行政区划失败");
    }

(2)在回调函数中处理数据

- (void)onGetDistrictInfoSearchResult:(FMDistrictSearch *)searcher result:(FMDistrictInfoSearchResult *)searchResult errorCode:(FMDistrictSearchErrorCode)errorCode
{
    NSLog(@"检索结果");
    if (errorCode == FM_DISTRICT_SEARCH_NO_ERROR) {

        // 处理搜索结果数据
    }
}

results matching ""

    No results matching ""