2016-01-07 2 views
3

Im имея ошибку при попытке оживить GMSMarker, я следовал документации Google и различные руководства, но он постоянно возвращается ошибка, ниже мой код:Неоднозначное использование Error «kGMSMarkerAnimationPop» в Swift 2

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'

Любая помощь будет определена!

+0

Пожалуйста, проверьте это: http://stackoverflow.com/questions/31309521/error-use-of-unresolved-identifier-kcgblendmodemultiply/, может быть, это даст вам некоторые подсказки. – courteouselk

ответ

3

Для меня это происходит, когда я обновляюсь с GoogleMap 1.10.3 до 1.11.1 с использованием CocoaPod. Ранее, используя 1.10.3, мне требуется импортировать все файлы заголовков GoogleMap в файл Bridging-Header.h.

Чтобы удалить эту неоднозначную ошибку, я просто закомментировать все импортированные заголовки в Bridging-Header.h

+0

Точно такая же проблема. – Praveen

6

обновление Google Map стручок не будет работать, по крайней мере, до 1.12.3.

  1. изменение GMSMarkerAnimation в GMSMarker.h от этого:

    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

+0

просто добавьте: 'locationMarker.appearAnimation = GMSMarkerAnimation.pop ' с нижним регистром ('pop')! –

2

Я посмотрел вокруг, и я нашел ответ, который работал для меня:

locationMarker.appearAnimation = GoogleMaps.kGMSMarkerAnimationPop 
3

В Swift 3/GoogleMaps 2.3.0. Новый синтаксис:

marker.appearAnimation = GMSMarkerAnimation.pop 
Смежные вопросы