ios - 谷歌地图地点选择器 iOS Swift

标签 ios swift google-maps google-places-api

我正在 Swift 中实现谷歌地图地点选择器。 google 提供的地点选择器会自动显示一个带有导航栏的 View Controller 。当我选择位置或按下导航栏上的后退按钮时, View Controller 立即消失,没有任何过渡。我似乎根本无法通过地点选择器 API 访问导航栏。我怎么能用动画关闭 placepicker View Controller ,或者访问导航栏?我很茫然。当我按下按钮时,我的代码会调出地点选择器:

    @IBAction func pickPlace(sender: UIButton) {
    if let mapView = self.mapView {

        let visibleRegion = mapView.projection.visibleRegion()
        let viewport = GMSCoordinateBounds(coordinate: visibleRegion.farLeft, coordinate: visibleRegion.nearRight)
        let config = GMSPlacePickerConfig(viewport: viewport)
        placePicker = GMSPlacePicker(config: config)
        placePicker.pickPlaceWithCallback { (place: GMSPlace?, error: NSError?) -> Void in
            if error != nil {
                println("Error picking place: \(error!.localizedDescription)")
                return
            }
            if place != nil {
                self.userLocationTextField.text = place!.name
                println("Place name \(place!.name)")
                println("Place address \(place!.formattedAddress)")
                println("Place attributions \(place!.attributions)")


                let marker = GMSMarker(position: place!.coordinate)
            } else {
                println("No place selected")
            }
        }
    }

我可以访问地点选取器 View Controller 的唯一方法是使用以下代码:

    let topVC = UIApplication.sharedApplication().keyWindow?.rootViewController

但即使使用该代码,我也无法更改导航栏或使 View Controller 通过动画关闭。

最佳答案

我也遇到了同样的问题,我已经使用下面的代码解决了。 我在选择器按钮操作方法中编写了以下代码

UINavigationBar.appearance().barTintColor = YOURCOLOR
UINavigationBar.appearance().isTranslucent = false

关于ios - 谷歌地图地点选择器 iOS Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31215120/

相关文章:

ios - 您可以使用 iOS 在本地主机上设置监听器套接字吗?

swift - Realm 对象谓词搜索无效

objective-c - 尝试将面子书登录按钮移植到 swift

javascript - 向现有标记集添加新的独特标记(谷歌地图)

iphone - 创建类似于 iBook 或 Stanza 应用程序的 ePub 阅读器的最佳方法

ios - 在所有内容之上显示一个 UIAlertController 并保持在顶部,即使推送另一个 View (iOS 13)

objective-c - 如何通过错误代码识别 UIWebView 错误?

ios - 将 View 作为 View 修饰符内容传递给函数参数

android - 使用 FragmentActivity 永远不会显示选项菜单

java - 使用 Google Geocode 在 Java 中使用 XPath 解析 XML