这是我第一次使用Google API。我在实现谷歌在我的项目中放置自动完成 API 时遇到问题。我正在使用谷歌开发者链接到谷歌地方自动完成API作为参考。
我能够正确实现本教程,但是,我无法在iOS中实现这一点。
有人可以指导我在这方面的一些教程吗?基本上我想做以下几点:
当用户在 UITextField 中输入文本时,
- URL 字符串获取文本(我已经成功完成),
- 填充过滤后的数组
- 数组的元素显示在下拉菜单类型的东西就像上面的自动完成链接一样。
在这方面的任何帮助将不胜感激。在过去的一周里,我一直被困在这个问题上。
查看 https://github.com/spoletto/SPGooglePlacesAutocomplete
它是Google Places Autocomplete API的objective-c包装器。
祝你好运!
这是一个 Swift 版本:)
https://github.com/watsonbox/ios_google_places_autocomplete
另一种选择:https://github.com/TarasRoshko/TRAutocompleteView
可以在一行代码中绑定到任何现有的UITextField。支持定制,可配置。应该是UITextFields的好选择,自动处理大小调整和方向。我之所以创建它,是因为所有现有解决方案都不为文本字段提供简单的下拉列表,而是提供整个单独的视图,甚至是"占位符文本建议",有时甚至无法实际自动完成。
如果您正在寻找一种了解如何实现 Google 地方信息自动填充功能的好方法,我建议您查看以下示例:
https://github.com/AdamBCo/GooglePlacesAutocomplete
轻量级和更新的解决方案!
- 维护缓存
- 通过多个请求取消会话
- 支持多个 API
谷歌 API 助手(自动完成)
var input = GInput()
input.keyword = "San francisco"
GoogleApi.shared.callApi(input: input) { (response) in
if let results = response.data as? [GApiResponse.Autocomplete], response.isValidFor(.autocomplete) {
//Enjoy the Autocomplete Api
} else { print(response.error ?? "ERROR") }
}
谷歌 API 助手 (地点信息)
var input = GInput()
input.keyword = "chijucwgqk6mqtkrukvhclvqfie"
GoogleApi.shared.callApi(.placeInformation,input: input) { (response) in
if let place = response.data as? GApiResponse.PlaceInfo, response.isValidFor(.placeInformation) {
//Enjoy the Place Api
} else { print(response.error ?? "ERROR") }
}
谷歌 API 助手 (更多)
https://github.com/tryWabbit/Google-Api-Helper