检索功能概述及接入

更新日期:2020.12.25


地图 SDK 提供的检索能力依托于腾讯地图开放平台提供的 WebService API,所有的检索接口都有配额限制,如果您希望更大的配额,请注册腾讯地图开发者并付费购买所需的配额。在使用检索功能前,请先阅读 WebService API 入门指南。

接入步骤

  1. 腾讯地图控制台的Key管理页面,进入想要开启检索功能的Key设置页面,并勾选WebServiceAPI功能:


  1. 在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
    
  2. 在使用检索功能的控制器中,引入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"];

注意点

  1. 地图SDK的检索功能是对WebServiceAPI服务能力的封装,目前SDK暂时不支持WebServiceAPI服务的授权ip,想要正常使用可勾选区域白名单以及授权ip但输入框留空。如果需要使用签名校验功能,请根据上述教程来配置。
  2. 如果需要在SDK端使用WebServiceAPI的加密功能,则需要自行调用WebServiceAPI接口。
  3. 如若返回的错误码在SDK文档中没有包含,可以参考WebServiceAPI文档中对应的内容,如地点搜索:https://lbs.qq.com/service/webService/webServiceGuide/webServiceSearch。

这篇文章对您解决问题是否有帮助?

已解决
未解决