Google Maps iOS SDK: Benutzerdefinierte Symbole, die als Marker verwendet werden

9

Die Android API hat dafür eine sehr praktische Klasse, IconGenerator . Mit dem IconGenerator in meiner Android App kann ich leicht einen Marker erstellen:

  1. ist ein einfaches Rechteck mit der Farbe meiner Wahl.
  2. ändert die Größe, um Text beliebiger Länge zu halten.
  3. ist NICHT ein Info-Fenster - Ich möchte, dass der Marker selbst den Text enthält, wie in der folgenden Abbildung von der Android-Version gezeigt.

%Vor%

Gibt es eine Möglichkeit, in iOS mit Swift etwas so Einfaches wie dieses zu tun? Es gab eine aktuelle Version der iOS-API, die "marker" erlaubt Anpassung ", aber ich sehe nicht, wie man es auf diesen Anwendungsfall anwendet.

%Vor%     
lf215 24.10.2016, 03:05
quelle

4 Antworten

13

Hier ist was ich getan habe

%Vor%

Die Ausgabe ist

Und mein Markerbild war

Sie können Ihre Farbe nach Ihren Bedürfnissen ändern. Auch wenn Sie etwas in rectange möchten, können Sie einfach ein einfaches kleines rechteckiges Bild erstellen und es wie oben verwenden und die Farbe Ihrer Bedürfnisse ändern.

Oder wenn Sie ein Rechteck mit Text wünschen, können Sie einfach ein kleines UIView mit einem Label erstellen und dann dieses UIView in UIImage konvertieren und das Gleiche tun.

%Vor%

Hoffe es hilft !!

    
Rajan Maheshwari 24.10.2016, 05:39
quelle
5

Hier ist, was ich getan habe, um das gleiche Problem zu lösen, mit dem Sie konfrontiert sind.

Ich habe das Bild unten in meinen Bild-Assets hinzugefügt,

Jetzt habe ich die folgende Methode in meinem Code hinzugefügt:

%Vor%

Nun habe ich diese Methode aufgerufen, während ich GMSMarker ein Symbol wie folgt zuweiße:

%Vor%

Erzeugt das Bildsymbol wie folgt:

Hier behielt ich den Hintergrund Bildgröße, wie ich brauchte. Sie können es weiterhin anpassen, um es an die Textgröße sowie an mehrere Zeilen anzupassen.

    
Mehul Thakkar 02.11.2016 06:59
quelle
4

Ich habe versucht, Mehul Thakkar eine Antwort auf Swift 3 zu schreiben. Hoffe, es wird für dich funktionieren. Aber es ist wirklich einfacher, eine benutzerdefinierte Ansicht zu erstellen, wie Dari sagte.

%Vor%     
Eridana 08.11.2016 14:00
quelle
2

Sie können einfach eine benutzerdefinierte Ansicht als Markierung in Google Map hinzufügen.

%Vor%

Sie können imageView verwenden (um dieses orangefarbene Feld zu enthalten) und darüber beschriften (für Text)

    
Dari 04.11.2016 04:53
quelle