2015-06-29 39 views
1

我想簡單的例子GMSPlacePicker轉換爲雨燕谷歌地圖的地方選擇器適用於iOS - 當動畫結束

但選取器出現,但隨後馬上消失,馬上從右邊的過渡GMSPlacePicker斯威夫特出現,但消失到左邊完成。

// ViewController.swift 
import UIKit 
import CoreLocation 
import GoogleMaps 

class ViewController: UIViewController { 

    @IBAction func buttonPlacesPicker_TouchUpInside(sender: AnyObject) { 

     //----------------------------------------------------------------------------------- 
     var southWestSydney : CLLocationCoordinate2D = CLLocationCoordinate2DMake(-33.8659, 151.1953) 
     var northEastSydney : CLLocationCoordinate2D = CLLocationCoordinate2DMake(-33.8645, 151.1969) 

     var sydneyBounds : GMSCoordinateBounds = GMSCoordinateBounds(coordinate: southWestSydney, coordinate:northEastSydney) 

     //var config : GMSPlacePickerConfig = GMSPlacePickerConfig(viewport:sydneyBounds) 
     var config : GMSPlacePickerConfig = GMSPlacePickerConfig(viewport:nil) 

     //--------------------------------------------------------------------- 
     var placePicker : GMSPlacePicker = GMSPlacePicker(config: config) 

     //typealias GMSPlaceResultCallback = (GMSPlace?, NSError?) -> Void 

     var error: NSError? = nil 
     var gmsPlace: GMSPlace? = nil 

     placePicker.pickPlaceWithCallback(){ 
      (gmsPlace, error) -> Void in 
      if let error = error{ 
       println("error:\(error)") 
      }else{ 
       if let gmsPlace = gmsPlace{ 
        if let formattedAddress = gmsPlace.formattedAddress{ 
         println("formattedAddress:\r\(formattedAddress)") 
        }else{ 
         println("gmsPlace.formattedAddress is nil") 
        } 

       }else{ 
        println("gmsPlace is nil") 
       } 

       println("info") 
      } 
     } 
    } 
} 

我的應用程序已經要求位置成功地

我有一個橋接報谷歌地圖。

我沒有使用可可豆莢安裝框架

但我

以前用過的OBJ - C的框架所以才拖到GoogleMaps.framework項目 和內部資源包

我添加了所有從以前的教程和鏈接器錯誤如下:

enter image description here

當我運行它時,我可以在拾取器地圖中看到悉尼。

它從屏幕的右側過渡到左側。

當它到達離開它消失

我增加顯示應用程序,我不能看到選擇器視圖下線。

我的GMS服務API密鑰是正確的,因爲我在obj-c應用程序中使用它來顯示Places Picker。

包ID是正確的。

我的雨燕知識是「我想我知道這一點。我可能不會」

什麼想法?

回答

7

您應該保留對您的GMSPlacePicker的引用。使它成爲一個屬性而不是局部變量。

+0

完美....我認爲我應該使用的技術術語是DOH! –

0

FIXED使它成爲一個伊娃... DOH!

class ViewController: UIViewController { 
    var placePicker : GMSPlacePicker? 

    @IBAction func buttonPlacesPicker_TouchUpInside(sender: AnyObject) { 

     self.placePicker?.pickPlaceWithCallback(){ 

     ... 
+0

你應該給出FiRiN的答案,因爲他是爲你提供的。 – Rod