Ich verwende eine geoJson-Schicht mit Leaflet.js und zeige Länder here.Leaflet.js geoJson etiketten
ich Land bin Zusatz-Etikett mit dem folgenden:
L.marker(layer.getBounds().getCenter(), {
icon: L.divIcon({
className: 'countryLabel',
html: feature.properties.name,
iconSize: [0, 0]
})
}).addTo(map);
Das Problem ist, das Markup dies gilt das Mouseover im Bereich des jeweiligen Landes behindert, was zu Problemen mit dem Mouseover-Farbwechsel und klickbaren Bereich.
Gibt es in Merkblatt 1.0.3 eine bessere Lösung zur Lieferung von Etiketten, die den klickbaren Bereich des Landes nicht behindern?
Ich habe Code versucht, die die Leaflet.Label Erweiterung wie folgt verwendet:
var label = new L.Label();
label.setContent(feature.properties.name);
label.setLatLng(center);
map.showLabel(label);
oder
L.marker(center)
.bindLabel('test', { noHide: true })
.addTo(map);
Aber diese Ursache Fehler; Ich verstehe, dass Funktionalität von diesem Plugin in Leaflet.js selbst nach v1 integriert wurde.
Dies funktioniert, aber ich möchte lieber einfach Etiketten statt Tooltips:
var marker = new L.marker(center, { opacity: 0.00 }); //opacity may be set to zero
marker.bindTooltip(feature.properties.name, { permanent: true, className: "my-label", offset: [0, 0] });
marker.addTo(map);
Irgendwelche Ideen wäre willkommen.
Leider muss ich angeben, wohin das Label geht, da das Zentrum des Features nicht immer dorthin zeigt, wo ich es möchte, z. Frankreich hat anderes Territorium, so dass das Etikett im Ozean erscheint. Kann ich den Standort angeben? – Alex
Danke, ich könnte auch die offset: [0, 0] Option verwenden und diese an die geoJson Daten übergeben. Schätze deine Hilfe. – Alex