在iOS中实施谷歌地方自动完成API

时间:2012-06-18 12:20:24

标签: google-maps ios4 google-api google-places-api

这是我第一次使用Google API。我在我的项目中实施Google放置自动完成API时遇到问题。我使用Google开发人员链接到Google商家信息自动填充API作为参考。

我能够正确实施this教程,但是,我无法在iOS中实现this

有人可以指导我这方面的一些教程吗? 基本上我想做以下事情:

当用户在UITextField中输入文本时,

  • URL字符串获取文本(我已成功完成),
  • 已填充已过滤的数组
  • 数组的元素显示在a中 下拉菜单类型的内容就像上面的自动完成链接一样。

在这方面的任何帮助将受到高度赞赏。过去一周我一直坚持这个问题。

5 个答案:

答案 0 :(得分:22)

查看https://github.com/spoletto/SPGooglePlacesAutocomplete

这是Google Places Autocomplete API的Objective-c包装器。

祝你好运!

答案 1 :(得分:5)

答案 2 :(得分:4)

另一种选择:https://github.com/TarasRoshko/TRAutocompleteView

可以在单行代码中绑定到任何现有的UITextField。支持自定义,可配置。应该是UITextFields的好选择,自动处理调整大小和方向。我创建它是因为所有现有的解决方案都没有为文本字段提供简单的下拉列表,而是提供完整的单独视图,甚至是“占位符文本建议”,有时甚至没有实际自动完成的可能性。

答案 3 :(得分:0)

如果您正在寻找了解如何实施Google商家信息自动填充功能的绝佳方式,我建议您查看以下示例:

https://github.com/AdamBCo/GooglePlacesAutocomplete

答案 4 :(得分:0)

轻巧和更新的解决方案!

  • 维护缓存
  • 取消多个请求的会话
  • 支持多种api

Google 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") }
}

Google 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") }
}

Google Api帮助器(更多)

https://github.com/tryWabbit/Google-Api-Helper