Ich versuche, was ich mir vorstelle, ein ziemlich häufiger Anwendungsfall mit einem Flugblatt Multipolygon-Objekt.Einfaches Etikett auf einem Flugblatt (Geojson) Polygon
Ich schaffe das Multipolygon mit GeoJSON:
var layer = L.GeoJSON(g, style_opts);
Was Ich mag würde, ist eine einfache Text-Label in der Mitte jedes Polygon zu setzen. (Zum Beispiel so etwas wie den Namen eines Staates in die Mitte eines jeden Staates zu setzen).
Ich habe sehe: https://groups.google.com/forum/?fromgroups=#!topic/leaflet-js/sA2HnU5W9Fw
die den Text tatsächlich überlagern, aber wenn ich ein paar Polygone hinzufügen, werden das Etikett in seltsamen Wegen nicht in die Mitte zu setzen, und ich bin derzeit nicht in der Lage um das Problem aufzuspüren.
Ich habe auch betrachtet: https://github.com/jacobtoye/Leaflet.label
aber das erscheint nur auf Polygone um das Etikett zu setzen, wenn Sie die Maus über das Polygon, und bleibt nicht statisch auf dem Polygon.
Ich denke, meine beste Vorgehensweise ist es, diesen ersten Link zu verwenden und herauszufinden, warum es den Standort ändert, aber in der Zwischenzeit, wenn jemand eine schnelle und einfache Möglichkeit kennt, ein Etikett auf einem Polygon im Prospekt zu verlegen Ich wäre sehr dankbar.
Auch, wenn ich irgendwelche fehlerhaften Annahmen über die beiden Links oben habe, bitte zögern Sie nicht, mich auszurichten.
Vielen Dank im Voraus.
Danke für die Antwort. Hat geschafft, dass das funktioniert. Sie müssen das Label jedoch vor dem Aufruf von 'showLabel()' zur Map hinzufügen: 'label.addTo (map)' – Ben
@Ben Ich habe es versucht und es funktioniert wie geschrieben. Siehe http://jsfiddle.net/CrqkR/6/ – flup
Ich muss etwas falsch gemacht haben dann ... danke für das Update – Ben