Die Android-API hat eine sehr praktische Klasse dafür, IconGenerator
. Mit Hilfe der IconGenerator
in meinem Android App, kann ich einfach einen Marker macht, dass:Google Maps iOS SDK: benutzerdefinierte Symbole als Marker
- mit der Farbe meiner Wahl ein einfaches Rechteck ist.
- ändert die Größe, um Text beliebiger Länge zu halten.
- ist NICHT ein Info-Fenster - Ich möchte, dass der Marker selbst den Text enthält, wie in der Abbildung unten von der Android-Version gezeigt.
// Android - problem solved with IconGenerator
IconGenerator iconGenerator = new IconGenerator(context);
iconGenerator.setStyle(IconGenerator.STYLE_GREEN); // or any other color
Bitmap iconBitmap = iconGenerator.makeIcon(myString);
Marker m = new MarkerOptions().icon(BitmapDescriptorFactory.fromBitmap(iconBitmap))
.position(myLatLng);
map.addMarker(m); // map is a com.google.android.gms.maps.GoogleMap
Gibt es eine Möglichkeit etwas so einfaches wie dies in iOS mit Swift zu tun? Es gab eine recent release der iOS API, die "Marker Anpassung" erlaubt, aber ich sehe nicht, wie man es auf diesen Anwendungsfall anwenden.
// iOS (Swift) - I don't know how to create the icon as in code above
let marker = GMSMarker(position: myLatLng)
marker.icon = // How can I set to a rectangle with color/text of my choosing?
marker.map = map // map is a GMSMapView
Das ist, was ich erwähnt habe, ein 'UIView' gleiche wie Ihr Android erstellen, die von Ihrem $ Preis consits und erstellen Sie dann eine' UIImage' von ihm, die ich die gleiche Funktion für erwähnt haben. –
Ich habe meine Frage bearbeitet, bevor ich Ihre aktualisierte Antwort sah. Ich werde das morgen umsetzen. In der Zwischenzeit können Sie bitte etwas genauer sein, wie der UIVIew/Label-Code aussehen würde. – lf215
Ok, ich werde versuchen, eine ähnliche Ansicht zu machen, was Sie wollen. Es ist nichts anderes als eine Ansicht, die in das Bild umgewandelt wird. Sie können BezierPfad verwenden, um die nach unten gerichtete Pfeilform zu erhalten. Wenn Sie nicht wollen, was ich oben auf der Markierung getan habe, löschen Sie einfach die Zeile 'mapView.selectedMarker = marker' und es wird eine einfache Markierung sein. –