在Swift 2中模糊地使用'kGMSMarkerAnimationPop'错误

时间:2016-01-07 13:33:38

标签: ios swift google-maps ios9

我在尝试为GMSMarker制作动画时遇到错误,我已经按照Google文档和各种指南进行了操作,但它仍然会返回错误,下面是我的代码:

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'

任何帮助都会得到满足!

5 个答案:

答案 0 :(得分:6)

升级google map pod将无效,至少在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

答案 1 :(得分:4)

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

marker.appearAnimation = GMSMarkerAnimation.pop

答案 2 :(得分:3)

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

要删除这个含糊不清的错误,我只是在Bridging-Header.h

中注释掉了所有导入的标题

答案 3 :(得分:2)

我环顾四周,找到了一个对我有用的答案:

locationMarker.appearAnimation = GoogleMaps.kGMSMarkerAnimationPop

答案 4 :(得分:0)

雨燕3
marker.appearAnimation = kGMSMarkerAnimationpop

雨燕4

marker.appearAnimation = GMSMarkerAnimation.pop