Es fällt mir schwer herauszufinden, warum die Leaflet-Methode setstyle
die Farbe eines Polygons ändert, aber nicht die Farbe meiner Marker.
Polygon funktioniert gut:
Die Markierungen ändern jedoch nicht die Farben:
Ich möchte in der Lage sein, einen Marker mit der Maus zu bewegen und seine Farbe zu ändern. Es schien, als würde setStyle dies tun. Aber ich bekomme immerlayer.setStyle is not a function
Ich verwende Angular und Leaflet zusammen, um die Karte zu erstellen (ich verwende die Angular-Leaflet-Direktive).
Hier ist der Mouseover-Teil des Codes:
$scope.$on("leafletDirectiveMap.geojsonMouseover", function (ev, leafletEvent) {
pointMouseover(leafletEvent);
});
function pointMouseover(leafletEvent) {
var layer = leafletEvent.target;
layer.setStyle({
weight: 2,
color: '#666',
fillColor: 'white'
});
}
Wenn der Marker mit der Maus darüber bewegt wird, wird er ausgelöst pointMousever
und versucht dann, setStyle auf dem LeafletEvent.target aufzurufen. Ich habe console.logged das LeafletEvent und es gibt tatsächlich den Zielteil davon:
Warum sollte setStyle für das Polygon und nicht für den Marker funktionieren? Wie kann man die Farbe des Markers ändern?