检索功能概述及接入
更新日期:2020.12.25
地图 SDK 提供的检索能力依托于腾讯地图开放平台提供的 WebService API,所有的检索接口都有配额限制,如果您希望更大的配额,请注册腾讯地图开发者并付费购买所需的配额。在使用检索功能前,请先阅读 WebService API 入门指南。
接入步骤
-
在腾讯地图控制台的Key管理页面,进入想要开启检索功能的Key设置页面,并勾选WebServiceAPI功能:
-
在AppDelegate文件中引入头文件,并在
application: didFinishLaunchingWithOptions:
方法中设置apiKey#import "AppDelegate.h" #import <QMapKit/QMSSearchServices.h> @implementation AppDelegate - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // 启用检索功能 [QMSSearchServices sharedServices].apiKey = @"ApiKey"; return YES; } @end
-
在使用检索功能的控制器中,引入QMSSearcher头文件,初始化QMSSearcher对象并指定当前控制器为代理:
#import <QMapKit/QMSSearcher.h> @interface KeywordHintViewController () <QMSSearchDelegate> @property (nonatomic, strong) QMSSearcher *mapSearcher; @end @implementation KeywordHintViewController - (void)viewDidLoad { [super viewDidLoad]; self.mapSearcher = [[QMSSearcher alloc] initWithDelegate:self]; }
签名校验
iOS SDK在4.4.0版本加入了签名校验功能,在配置检索功能的Key时,可以通过下列代码来设置secret key。
[[QMSSearchService sharedServices] setSecretKey:@"SecretKey"];
注意点
- 地图SDK的检索功能是对WebServiceAPI服务能力的封装,目前SDK暂时不支持WebServiceAPI服务的授权ip,想要正常使用可勾选区域白名单以及授权ip但输入框留空。如果需要使用签名校验功能,请根据上述教程来配置。
- 如果需要在SDK端使用WebServiceAPI的加密功能,则需要自行调用WebServiceAPI接口。
- 如若返回的错误码在SDK文档中没有包含,可以参考WebServiceAPI文档中对应的内容,如地点搜索:https://lbs.qq.com/service/webService/webServiceGuide/webServiceSearch。
这篇文章对您解决问题是否有帮助?
已解决
未解决