Ich schlage vor, mit der Google Charts API, weil Sie den Text, Textfarbe angeben, Füllfarbe und Umrissfarbe, alle unter Verwendung von Hex-Farbcodes, z # FF0000 für rot. Sie können es nennen wie folgt:
function getIcon(text, fillColor, textColor, outlineColor) {
if (!text) text = '•'; //generic map dot
var iconUrl = "http://chart.googleapis.com/chart?cht=d&chdp=mapsapi&chl=pin%27i\\%27[" + text + "%27-2%27f\\hv%27a\\]h\\]o\\" + fillColor + "%27fC\\" + textColor + "%27tC\\" + outlineColor + "%27eC\\Lauto%27f\\&ext=.png";
return iconUrl;
}
Dann, wenn Sie Ihre Marker erstellen Sie einfach auf das Symbol Eigenschaft als solche festgelegt, wo die myColor Variablen Hex-Werte (minus der Raute) sind:
var marker = new google.maps.Marker({
position: new google.maps.LatLng(locations[i][1], locations[i][2]),
animation: google.maps.Animation.DROP,
map: map,
icon: getIcon(null, myColor, myColor2, myColor3)
});
Sie können http://chart.googleapis.com/chart?chst=d_map_pin_letter&chld=•|FF0000
, die ein wenig einfacher zu entziffern ist, als alternative URL verwenden, wenn Sie nur Text und Füllfarbe festlegen müssen.
Khurrams Antwort bezieht sich auf eine Website von Drittanbietern, die zur Google Charts-API weiterleitet. Das heißt, wenn diese Person ihren Server herunterlädt, wird sie abgespritzt. Ich bevorzuge die Flexibilität, die die Google API bietet, sowie die Zuverlässigkeit, direkt zu Google zu gelangen. Stellen Sie nur sicher, dass Sie für jede Farbe einen Wert angeben, sonst funktioniert es nicht.
Vielen Dank :) das ist, was ich gesucht habe :) Kann ich wissen, wende ich dies innerhalb des Ortes an, wo ich den Marker instanziiere, wie ich zeige oder ist es außerhalb definiert separat? :) –
Beide arbeiten. Entweder können Sie das 'icon' Attribut hinzufügen und es setzen oder' setIcon' verwenden. Ich werde darüber eine Notiz hinzufügen. – jsalonen
vielen Dank für die Hilfe :) –