如何在Apple的原生地图应用程序中执行本地搜索自动完成功能?

 异常登录了吖 发布于 2023-01-29 09:48

我已经从采用大多数的概念从MKlocalSearch苹果的示例代码做了一个实现此

目前,对于自动完成,每次用户在搜索栏内输入时,我都会在我指定的位置发送新请求:

MkLocalSearchRequest.naturalLanguageQuery = searchBar.text
MkLocalSearchRequest.region = userlocation.region

但是,与Apple的默认地图应用程序相比,我得到了与服务器完全不同的响应集,如下图所示

我的应用 Apple Maps应用

然后我捕获流量并发现我的请求转到https://gsp-ssl.ls.apple.com/search.arpc而Apple转到 https://gsp-ssl.ls.apple.com/auto_complete.arpc

有没有办法调整MkLocalSearchRequest以获得相同的响应对象集?

2 个回答
  • MkLocalSearchRequest不会对您的搜索字符串执行自动完成,可能是因为Apple希望限制来自第三方应用程序的请求数量.

    从理论上讲,您可以对https://gsp-ssl.ls.apple.com/auto_complete.arpc的请求和响应进行反向工程,然后自行执行这些请求,而不是使用MkLocalSearchRequest.但这可能会导致您的应用程序在App Store中被拒绝.

    2023-01-29 09:51 回答
  • @TypingPanda - 我没有足够的积分直接评论但是:谨防使用Google Places API!虽然可能不是很明显,但谷歌的条款和条件规定谷歌的任何视觉表现都需要在谷歌地图上进行.希望一切顺利!

    2023-01-29 09:51 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有