ios - 在 iOS 上使用 MapKit 搜索地址

标签 ios objective-c swift mapkit uisearchbar

我有一个 UISearchBar,用户可以在其中输入字符串(例如地址),它应该建议一些地址。

假设我在 Apple 的 map 应用程序中,输入“New Yo”,我将获得纽约市和一些本地搜索结果。

Apple 似乎混合使用了 MKLocalSearch 和正向地理编码。

现在,如果我搜索文档,它明确指出我不能使用 CLGeoCoding 来搜索地址,但我应该使用 MKLocalSearch。

那么最好的方法是什么? MKLocalsearch 实际上是为了在用户附近寻找地点,还是我错了?

顺便说一下,我正在使用 Swift :D 谢谢

最佳答案

如果您希望能够搜索位置,请使用 CLGeocoder。 (缺点是 apple 限制了 api 调用的数量,因此当您键入“new yo...”时,您可能不会得到一堆结果,但它可以完成工作)。

另一方面,MKLocalSearch 是专门为 Mapkit 设计的。

“MKLocalSearch 允许开发人员在地理区域内找到附近的兴趣点。”

我不确定您进行了多少 map 工具包集成,但如果您只是想让用户搜索位置,以上内容应该会有所帮助。

我还应该注意到谷歌有一个 geocoding API如果您对 CLGeocoder 不满意,可以使用它。

关于ios - 在 iOS 上使用 MapKit 搜索地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28441816/

相关文章:

ios - Swift 变量作用域问题

iOS - 使用 Accelerate.framework 计算矩阵每一行和/或列的点积

ios - 为什么披露指标不显示?

ios - 如何插入数组值以根据长/纬度值绘制多边形-Google Maps iOS?

ios - Swift:方法重载仅在返回类型上不同

swift - 关闭 SwiftUI 中的选择器并将选择器选择重置为初始值

iOS 蓝牙中央管理器

ios - ViewController 未从内存中释放

ios - 锁屏本地通知处理 "slide to view"

string - 二元运算符 '==' 无法应用于 Swift 2 Xcode 7 中类型 'String!' 和 '[String]' 的操作数