Die Antwort von Bahadır Yağan hat mir sehr gut gefallen, außer dass ich es nicht mochte, abhängig von einer begrenzten Anzahl von Symbolen von Google oder einer externen API meine Markierungssymbole zu generieren. Hier ist die erste Lösung:
var marker = new google.maps.Marker({
id: "some-id",
icon: {
path: google.maps.SymbolPath.FORWARD_CLOSED_ARROW,
strokeColor: "red",
scale: 3
},
map: map,
title: "some-title",
position: myLatlng
});
Und hier ist meine verbesserte Lösung:
var marker = new google.maps.Marker({
position: myLatlng,
icon:{
path: 'm 12,2.4000002 c -2.7802903,0 -5.9650002,1.5099999 -5.9650002,5.8299998 0,1.74375 1.1549213,3.264465 2.3551945,4.025812 1.2002732,0.761348 2.4458987,0.763328 2.6273057,2.474813 L 12,24 12.9825,14.68 c 0.179732,-1.704939 1.425357,-1.665423 2.626049,-2.424188 C 16.809241,11.497047 17.965,9.94 17.965,8.23 17.965,3.9100001 14.78029,2.4000002 12,2.4000002 Z',
fillColor: '#00FF00',
fillOpacity: 1.0,
strokeColor: '#000000',
strokeWeight: 1,
scale: 2,
anchor: new google.maps.Point(12, 24),
},
});
Ich wollte ein bestimmtes PIN-Symbol, also habe ich eines mit inkscape erstellt, dann die SVG-Datei geöffnet und den SVG-Pfad in den Pfad in den Code kopiert. Dies funktioniert jedoch mit jedem SVG-Pfad, den Sie in das Attribut "Pfad" des Symbolobjekt.
Hier ist das Ergebnis: