我已经通过采用苹果公司从7月份开始的MKlocalSearch示例代码的大部分概念来完成实施
目前为自动完成,每次用户在搜索栏内输入内容时,我发送一个新的请求,我指定:
MkLocalSearchRequest.naturalLanguageQuery = searchBar.text MkLocalSearchRequest.region = userlocation.region
但是如下图所示,与苹果的默认地图应用程序相比,我收到的服务器的响应完全不同
然后,我捕获流量,发现我的请求在https://gsp-ssl.ls.apple.com/search.arpc,而苹果的
https://gsp-ssl.ls.apple.com/auto_complete.arpc
有没有办法调整MkLocalSearchRequest来获取同一组响应对象?
解决方法
MkLocalSearchRequest不会在搜索字符串上执行自动完成,也许是因为Apple希望限制来自第三方应用程序的请求数量.
理论上你可以对https://gsp-ssl.ls.apple.com/auto_complete.arpc的请求和响应进行逆向工程,然后自己执行这些请求,而不是使用MkLocalSearchRequest.但这可能会导致您的应用在App Store中被拒绝.