地点输入提示检索(也被称为poi热词建议检索、在线建议检索、suggestion poi search),简称sug检索,是指根据关键词查询在线建议词。为了帮助开发者实现检索出来的关键词快速定位到地图上,sdk开放了检索结果的经纬度信息及对应poi点的uid信息。sug检索能够减少用户输入检索信息的长度,大幅提升用户的产品体验。如:输入“百度”,提示“百度大厦a座”,“百度科技园”。
地点输入提示检索功能使用的是地图sdk的检索功能,需要在工程中导入检索功能包baidumapapi_search.framework
#import<baidumapapi_base/bmkbasecomponent.h>#import<baidumapapi_search/bmksearchcomponent.h>
bmksuggestionsearch*search =[[bmksuggestionsearch alloc] init];
search.delegate= self;
bmksuggestionsearchoption* option =[[bmksuggestionsearchoption alloc] init];option.cityname= @"北京";option.keyword= @"中关村";
bool flag =[search suggestionsearch:option];if(flag){nslog(@"sug检索发送成功");}else{nslog(@"sug检索发送失败");}
/***返回suggestion搜索结果*@param searcher 搜索对象*@param result 搜索结果*@param error 错误号,@see bmksearcherrorcode*/-(void)ongetsuggestionresult:(bmksuggestionsearch*)searcher result:(bmksuggestionsearchresult*)result errorcode:(bmksearcherrorcode)error{if(error ==bmk_search_no_error){//在此处理正常结果}else{nslog(@"检索失败");}}
通过代理返回的error判断检索是否成功,如果检索成功,可通过解析result字段获取具体的结果。具体使用示例可参照官方demo中的bmksuggestionsearchpage。bmksuggestionsearchresult类结构如下图
说明:
bmksuggestionsearchresult | sug检索结果类 | ||
bmksuggestioninfo | sug检索信息类 | ||
bmksuggestionchildreninfo | sug检索子节点类 |
1)sug检索的本质是根据部分关键字检索出来可能的完整关键词名称,即关键词匹配;
2)poi检索的功能是检索poi,如果需要查询某些关键词对应的poi的具体信息,请使用poi检索来完成。
例如输入“肯”,第一条结果为“肯德基”,这条结果是一个泛指的名称,不会带有经纬度等信息。 常用的使用方式:用户输入“关键字”时以sug检索做为检索入口,边输入边检索热词;输入完成后如还没有搜到结果,再用poi检索以“关键字”为keywords再继续搜索。
sug检索,城市为必填输入项。 bmksuggestionsearchoption中城市控制属性citylimit(默认值为no)。
sug检索不控制poi必须在城市内:citylimit设置为no时,不会严格限制召回poi一定在请求中传入的城市内。若检索时,在其他城市发现检索热度及匹配度较高的poi,也会一并召回。如,在北京市检索「迪士尼乐园」。sug检索可以将city设置为全国,但不建议使用,会降低检索精度。
sug检索控制poi在城市内:citylimit设置为yes时,仅返回city中指定城市检索结果。
上一篇
下一篇
本篇文章对您是否有帮助?