Sie können dynamisch Symbolbilder aus der Google Charts-API mit den folgenden URLs anfordern:
http://chart.apis.google.com/chart?chst=d_map_pin_letter&chld=%E2%80%A2|FE7569
Das sieht so aus: Das Bild ist 21x34 Pixel groß und die Pin-Spitze befindet sich an Position (10, 34).
Außerdem möchten Sie ein separates Schattenbild (damit es die Symbole in der Nähe nicht überlappt):
http://chart.apis.google.com/chart?chst=d_map_pin_shadow
Was so aussieht: Das Bild ist 40x37 Pixel groß und die Pin-Spitze befindet sich an Position (12, 35).
Wenn Sie Ihre MarkerImage s erstellen , müssen Sie die Größe und die Ankerpunkte entsprechend einstellen:
var pinColor = "FE7569";
var pinImage = new google.maps.MarkerImage("http://chart.apis.google.com/chart?chst=d_map_pin_letter&chld=%E2%80%A2|" + pinColor,
new google.maps.Size(21, 34),
new google.maps.Point(0,0),
new google.maps.Point(10, 34));
var pinShadow = new google.maps.MarkerImage("http://chart.apis.google.com/chart?chst=d_map_pin_shadow",
new google.maps.Size(40, 37),
new google.maps.Point(0, 0),
new google.maps.Point(12, 35));
Sie können dann den Marker zu Ihrer Karte hinzufügen mit:
var marker = new google.maps.Marker({
position: new google.maps.LatLng(0,0),
map: map,
icon: pinImage,
shadow: pinShadow
});
Ersetzen Sie einfach "FE7569" durch den gewünschten Farbcode. Z.B:
Dank an Jack B Nimble für die Inspiration;)
Wenn Sie Google Maps API v3 verwenden, können Sie
setIcon
zOder als Teil von marker init:
Andere Farben:
Verwenden Sie den folgenden Code, um Standardmarkierungen mit verschiedenen Farben zu aktualisieren.
quelle
Hier ist eine gute Lösung mit der Gooogle Maps-API. Kein externer Service, keine zusätzliche Bibliothek. Und es ermöglicht benutzerdefinierte Formen und mehrere Farben und Stile. Die Lösung verwendet vektorielle Marker, die von googlemaps api als Symbole bezeichnet werden .
Neben den wenigen und begrenzten vordefinierten Symbolen können Sie jede Form einer beliebigen Farbe erstellen, indem Sie eine SVG-Pfadzeichenfolge ( Spec ) angeben .
Um es zu verwenden, setzen Sie die Markierungsoption 'Symbol' nicht auf die Bild-URL, sondern auf ein Wörterbuch mit den Symboloptionen. Als Beispiel habe ich es geschafft, ein Symbol zu erstellen, das dem Standardmarker ziemlich ähnlich ist:
Wenn Sie darauf achten, den Formschlüsselpunkt auf 0,0 zu halten, müssen Sie keine Parameter für die Zentrierung des Markierungssymbols definieren. Ein weiteres Pfadbeispiel, derselbe Marker ohne Punkt:
Und hier haben Sie eine sehr einfache und hässliche farbige Flagge:
Sie können die Pfade auch mit einem visuellen Tool wie Inkscape (GNU-GPL, Multiplattform) erstellen . Einige nützliche Hinweise:
quelle
Nun das nächste , was ich im Stande gewesen bin mit dem StyledMarker zu bekommen , ist dies .
Die Kugel in der Mitte ist jedoch nicht ganz so groß wie die Standardkugel. Die StyledMarker-Klasse erstellt einfach diese URL und fordert die Google-API auf, den Marker zu erstellen .
Verwenden Sie im Beispiel für die Verwendung der Klasse "% E2% 80% A2" als Text, wie in:
Sie müssen StyledMarker.js ändern, um die Zeilen zu kommentieren:
Dadurch wird die Textzeichenfolge auf 2 Zeichen gekürzt.
Alternativ können Sie benutzerdefinierte Markierungsbilder basierend auf dem Standardmarker mit den gewünschten Farben erstellen und den Standardmarker mit Code wie dem folgenden überschreiben:
quelle
Ich habe die Antwort von vokimon ein wenig erweitert, um sie auch für das Ändern anderer Eigenschaften etwas bequemer zu machen.
Verwendungszweck:
Oder beim Definieren eines neuen Markers:
quelle
Hallo, Sie können das Symbol als SVG verwenden und Farben einstellen. Siehe diesen Code
quelle
Seit Version 3.11 der Google Maps-API wird das
Icon
Objekt ersetztMarkerImage
. Icon unterstützt dieselben Parameter wie MarkerImage. Ich fand es sogar etwas direkter.Ein Beispiel könnte so aussehen:
Weitere Informationen finden Sie auf dieser Website
quelle
quelle
Wie andere bereits erwähnt haben, ist die Antwort von vokimon großartig, aber leider ist Google Maps etwas langsam, wenn viele SymbolPath / SVG-basierte Marker gleichzeitig vorhanden sind.
Es sieht so aus, als ob die Verwendung eines Daten-URI viel schneller ist, ungefähr auf dem Niveau von PNGs.
Da es sich um ein vollständiges SVG-Dokument handelt, ist es auch möglich, einen ordnungsgemäß ausgefüllten Kreis für den Punkt zu verwenden. Der Pfad wird so geändert, dass er nicht mehr nach links oben versetzt ist. Daher muss der Anker definiert werden.
Hier ist eine modifizierte Version, die diese Marker generiert:
Verwendungszweck:
Der Nachteil ist, ähnlich wie bei einem PNG-Bild, dass das gesamte Rechteck anklickbar ist. Theoretisch ist es nicht allzu schwierig, den SVG-Pfad zu verfolgen und ein MarkerShape- Polygon zu generieren .
quelle
Sie können diesen Code verwenden, es funktioniert gut.
quelle
Kombinieren Sie eine symbolbasierte Markierung, deren Pfad den Umriss zeichnet, mit einem '●' - Zeichen für die Mitte. Sie können den Punkt nach Bedarf durch anderen Text ('A', 'B' usw.) ersetzen.
Diese Funktion gibt Optionen für eine Markierung mit einem bestimmten Text (falls vorhanden), einer Textfarbe und einer Füllfarbe zurück. Es verwendet die Textfarbe für die Gliederung.
quelle
Ich versuche zwei Möglichkeiten, um den benutzerdefinierten Google Map-Marker zu erstellen. Dieser verwendete Ausführungscode canvg.js ist die beste Kompatibilität für den Browser. Der auskommentierte Code unterstützt IE11 derzeit nicht.
quelle
Ich habe lange versucht, den gezeichneten Marker von Vokimon zu verbessern und ihn Google Maps ähnlicher zu machen (und es ist mir ziemlich gelungen). Dies ist der Code, den ich bekommen habe:
Ich habe es auch um 0,8 skaliert.
quelle
Ändern Sie den Pfad in chart.googleapis.com, da SSL sonst nicht funktioniert
quelle
Mit Swift und Google Maps Api v3 war dies der einfachste Weg, den ich dazu hatte:
hoffe es hilft jemandem.
quelle
Dies sind benutzerdefinierte kreisförmige Markierungen
small_red:
small_yellow:
small_green:
small_blue:
small_purple:
Es sind 9x9 PNG-Bilder.
Sobald sie auf Ihrer Seite sind, können Sie sie einfach abziehen und Sie haben die eigentliche PNG-Datei.
quelle
Sie können auch Farbcode verwenden.
quelle
Manchmal kann etwas wirklich Einfaches komplex beantwortet werden. Ich sage nicht, dass eine der obigen Antworten falsch ist, aber ich würde nur anwenden, dass es so einfach gemacht werden kann:
Ich weiß, dass diese Frage alt ist, aber wenn jemand nur die Pin- oder Markierungsfarbe ändern möchte, lesen Sie die Dokumentation: https://developers.google.com/maps/documentation/android-sdk/marker
Wenn Sie Ihren Marker hinzufügen, legen Sie einfach die Icon-Eigenschaft fest:
Es stehen 10 Standardfarben zur Auswahl . Wenn das nicht genug ist (die einfache Lösung), würde ich mich wahrscheinlich für die komplexeren in den anderen Antworten entscheiden, um ein komplexeres Bedürfnis zu erfüllen.
ps: Ich habe in einer anderen Antwort etwas Ähnliches geschrieben und sollte mich daher auf diese Antwort beziehen, aber als ich das das letzte Mal tat, wurde ich gebeten, die Antwort zu posten, da sie so kurz war (wie diese hier).
quelle