IOS Swift Google place API how to customize the placePicker

时间:2015-07-28 22:10:55

标签: ios swift

Is there anyway we can customize the google IOS GMSPlacePicker? such as to change the image of the pin or to turn off the marks like restaurants, bars or even to add buttons over it?

Thanks a lot.

2 个答案:

答案 0 :(得分:2)

提供的唯一自定义内容位于GMSPlacePickerConfig类内 - 它只允许您更改视口,到目前为止而非您正在寻找的内容。

答案 1 :(得分:0)

Google最近更新了他们的API,GMSPlacePicker现已弃用(支持在2018年5月停止),这会让您有一点时间来迁移应用中的所有内容。

  

注意:地点选择器的实现已更改。作为   适用于iOS的Google Places API版本2.3,即GMSPlacePicker类   不推荐使用,由GMSPlacePickerViewController取代。使用的   GMSPlacePicker类仅在2018年5月1日之前得到支持。我们   建议您更新要使用的代码   尽可能使用GMSPlacePickerViewController。

升级到2.3版以访问此新功能。

新系统实施起来相对简单。您现在确认:

  

GMSPlacePickerViewControllerDelegate

然后您可以访问诸如didPick()或didCancel()...

之类的方法

自定义UI的好处在于,由于现在通过ViewController管理所有内容,您可以将其添加到导航控制器堆栈中,例如,它可以继承自您在其他ViewControllers上设置的导航栏设计也位于placePicker之前或之后的堆栈中。

我现在正在上班,但稍后会用示例代码编辑我的答案。

更多信息,请参阅此处的文档:https://developers.google.com/places/ios-api/placepicker

当您设置placePicker时,不要忘记将您的委托设置为自我,以确保方法didPick / didCancel将正常触发。如果您忘记了,当您尝试选择或取消选择器时,您将收到以下警告。这不是在文档中写的,但显然是必要的。

  

Places API警告:尚未在实例上设置委托   GMSPlacePickerViewController在使用之前。请注意,这可能会导致   未定义的行为,例如无法解除屏幕,而不是   通知选择,并且无法正确管理对象   的生命周期。

希望它有所帮助。