2017-05-12 4 views
0

Ich habe dieses Projekt herausgezogen und fing wieder an, daran zu arbeiten, ich bin auf dem im Anschluss an eine Störung zu erhalten;Inkompatible Zeigertyp Xcode

- (UIView *)mapView:(GMSMapView*)mapView markerInfoWindow:(GMSMarker*)marker 
{ 
    CustomInfoWindow *InfoWindow = [[[NSBundle mainBundle] loadNibNamed:@"InfoWindow" owner:self options:nil] objectAtIndex:0]; 
    return InfoWindow; 
} 

Inkompatible Zeigertypen Rückkehr 'CustomInfoWindow *' aus einer Funktion mit Ergebnistyp 'UIView *'

+2

was ist die Art von 'CustomInfoWindow'? – ozgur

+3

Was ist die @ Schnittstelle für 'CustomInfoWindow'? Die Fehlermeldung zeigt an, dass es sich nicht um eine Unterklasse von UIView handelt. –

+0

@interface CustomInfoWindow: UIViewController für Google Maps in der Viewcontroller – AFarm

Antwort

1
CustomInfoWindow *InfoWindow = [[[NSBundle mainBundle] loadNibNamed:@"InfoWindow" owner:self options:nil] objectAtIndex:0]; 
return InfoWindow.view; 

Sie Viewcontroller zurückkehren, die falsch, weil die Funktion Rückgabetyp UIView Typ ist Bitte geben Sie die Ansicht des Viewcontrollers zurück. Code mit diesem Update und versuchen

0

Haben Sie das Dokument prüfen, ob wir oben so verwenden kann?

Wenn Sie wie oben zeigt es den Fehler

, weil es muss zurückkehren UIView

Google Map iOS Document Says

markerInfoWindow aufgerufen, wenn eine Markierung im Begriff ist, werden ausgewählt, und bietet eine opt das benutzerdefinierte benutzerdefinierte Informationsfenster für diesen Marker zu verwenden, wenn diese Methode eine UIView zurückgibt. Wenn Sie diese Ansicht ändern, nachdem diese Methode aufgerufen wurde, werden diese Änderungen nicht unbedingt in der gerenderten Version widergespiegelt.

Die zurückgegebene UIView darf keine größeren als 500 Punkte in beiden Dimensionen haben.

Da nur ein Infofenster jederzeit die zurückgegebene Ansicht gezeigt ist, kann zwischen anderen Informationen Fenster wiederverwendet werden.

Das Entfernen des Markers aus der Karte oder das Ändern des ausgewählten Markers während dieses Aufrufs führt zu einem nicht definierten Verhalten.