在Swift 2中使用'kGMSMarkerAnimationPop'错误

我有一个错误,而试图animation的GMSMarker,我跟着谷歌文档和各种指南,但它不断返回一个错误,下面是我的代码:

func placeMarker(coordinate: CLLocationCoordinate2D) { if locationMarker != nil { locationMarker.map = nil } locationMarker = GMSMarker(position: coordinate) locationMarker.icon = GMSMarker.markerImageWithColor(purple) locationMarker.appearAnimation = kGMSMarkerAnimationPop locationMarker.snippet = "The best place on earth." locationMarker.map = mapView } 

哪个返回错误使用'kGMSMarkerAnimationPop'

任何帮助将appriciated!

升级谷歌地图荚将无法正常工作,至less直到1.12.3。

  1. 改变GMSMarker.h中的GMSMarkerAnimation:

     typedef enum { /** No animation (default). */ kGMSMarkerAnimationNone = 0, /** The marker will pop from its groundAnchor when added. */ kGMSMarkerAnimationPop, } GMSMarkerAnimation; 

    对此:

     typedef NS_ENUM(NSInteger, GMSMarkerAnimation){ /** No animation (default). */ kGMSMarkerAnimationNone = 0, /** The marker will pop from its groundAnchor when added. */ kGMSMarkerAnimationPop, } ; 
  2. 更改

    locationMarker.appearAnimation = kGMSMarkerAnimationPop

    locationMarker.appearAnimation = GMSMarkerAnimation.Pop

对我来说,当我使用CocoaPod从GoogleMap 1.10.3升级到1.11.1时,会发生这种情况。 以前使用1.10.3需要我在Bridging-Header.h文件中导入GoogleMap的所有头文件。

为了消除这个模糊的错误,我刚刚在Bridging-Header.h注释了所有导入的头文件

在Swift 3 / GoogleMaps 2.3.0中。 新的语法是:

 marker.appearAnimation = GMSMarkerAnimation.pop 

我环顾四周,find了一个适合我的答案:

 locationMarker.appearAnimation = GoogleMaps.kGMSMarkerAnimationPop