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

iOS 地图SDK

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

地点检索输入提示服务(Sug检索)简介

地点检索输入提示服务(也被称为POI热词建议检索、在线建议检索、Suggestion POI search),简称Sug检索,是指根据关键词查询在线建议词。为了帮助开发者实现检索出来的关键词快速定位到地图上,SDK开放了检索结果的经纬度信息及对应POI点的UID信息。

地点检索输入提示服务(Sug检索)与POI检索的区别说明

Sug检索和POI检索的使用场景不同。

1)Sug检索的本质是根据部分关键字检索出来可能的完整关键词名称,即关键词匹配;

2)POI检索的功能是检索POI,如果需要查询某些关键词对应的POI的具体信息,请使用POI检索来完成。

在线检索结果的第一条可能存在没有经纬度信息的情况,该条结果为文字联想出来的关键词结果,并不对应任何确切POI点。

例如输入“肯”,第一条结果为“肯德基”,这条结果是一个泛指的名称,不会带有经纬度等信息。

常用的使用方式:用户输入“关键字”时以Sug检索做为检索入口,边输入边检索热词;输入完成后如还没有搜到结果,再用POI检索以“关键字”为keywords再继续搜索。

具体使用可以参看POISearchDemo。

Sug检索实现方式如下:

-(void)viewDidLoad  
{    
    //初始化检索对象  
    _searcher =[[BMKSuggestionSearch alloc]init];  
    _searcher.delegate = self;    
    BMKSuggestionSearchOption* option = [[BMKSuggestionSearchOption alloc] init];  
    option.cityname = @"北京";  
    option.keyword  = @"中关村";  
    BOOL flag = [_searchersuggestionSearch:option];  
        [option release];  
        if(flag)  
        {  
            NSLog(@"Sug检索发送成功");  
        }  
        else  
        {  
            NSLog(@"Sug检索发送失败");  
        }  
    }  
    //实现Delegate处理回调结果  
    - (void)onGetSuggestionResult:(BMKSuggestionSearch*)searcher result:(BMKSuggestionResult*)result errorCode:(BMKSearchErrorCode)error{  
        if (error == BMK_SEARCH_NO_ERROR) {  
                //在此处理正常结果  
        }  
        else {  
                NSLog(@"抱歉,未找到结果");  
        }  
    }  
 
    //不使用时将delegate设置为 nil    
    -(void)viewWillDisappear:(BOOL)animated    
    {    
        _searcher.delegate = nil;    
    }

注意事项

Sug检索,城市为必填输入项。

Sug检索不控制poi必须在城市内:在传入city后,sug检索无结果时,会扩大检索范围,在全国范围进行检索。(如右图)输入避暑山庄,北京没有,会扩大到全国范围检索;如city内有检索结果,会优先显示city内的数据。sug检索可以city输入全国,但是不建议这么使用,会降低检索精度。

Sug检索控制poi在城市内:如要控制仅在城市内检索,自iOS v3.2以上版本起,支持设置citylimit。

BMKSuggestionSearchOption新增城市控制属性,支持只返回指定城市的检索结果(默认:NO);当取值为"YES"时,仅返回city中指定城市检索结果。

提示:
海外区域暂不支持设置cityLimit。

ios-search-Sug1.png