Ich versuche, ein benutzerdefiniertes Informationsfenster auf meinem Google Maps-Markierer in einer iOS-App zu implementieren. (Wie gemacht hier und hier zum Beispiel.)
Ich habe eine xib und eine UIView
Klasse dafür erstellt. Es heißt CustomInfoWindow.xib
und die Klasse ist CustomInfoWindow.swift
.
Mein benutzerdefiniertes Informationsfenster ist derzeit leer, d. h. ich habe noch keine UIControl
s zu meinem xib hinzugefügt. Ich habe meiner Klassendatei noch keinen Code hinzugefügt.
Die Datei CustomInfoWindow.swift
sieht im Prinzip so aus:
In meinem ViewController für meine Karten ist meine markerInfoWindow
-Methode wie folgt:
Wenn ich den Code ausführe und auf einen meiner Marker klicke, wird das leere CustomInfoWindow
angezeigt.
Das Seltsame ist, dass ich in dem Moment, in dem ich im Interface Builder ein beliebiges UI-Element zum CustomInfoWindow.xib
hinzufüge und meine App erneut starte, plötzlich stopfe, wenn ich auf einen Marker klicke, bleibt die App hängen. (Zum Beispiel, wenn ich ein UILabel
oder ein UIImage
zu CustomInfoWindow.xib
hinzufüge.) Wenn ich das UI-Element entferne, zeigt die leere Spitze über der Markierung fein an.
Wenn ich meine Spitze teste, indem ich sie als Unteransicht auf einem View Controller hinzufüge, dann lädt sie meine UILabel
und UIImage
. Wenn ich jedoch die gleiche Spitze in markerInfoWindow
verwende, bleibt die App hängen.
Was kann das Problem sein?
UPDATE: Dieses Problem trat bei Version 1.13 des Google Maps SDK für iOS auf und es stellte sich heraus, dass es sich um ein Fehler in dieser Version .
Ich habe das gleiche Problem. Es ist ein GoogleMaps-Bug! Freezing Apprer in Version 1.13.0.
Sie können verwenden:
%Vor%Die richtige Problemumgehung für 1.13
gefundenFügen Sie der Unterklasse CustomInfoWindow
den folgenden Code hinzu %Vor%Quelle: Ссылка
Tags und Links ios swift google-maps-sdk-ios