Sto cercando un modo per mostrare il testo sulla mappa dei volantini usando gli indicatori o qualsiasi altra cosa senza mostrare alcuna icona. Voglio mostrare solo il testo ed essere in grado di modellarlo e ruotarlo ... Qualche suggerimento?
Sto cercando un modo per mostrare il testo sulla mappa dei volantini usando gli indicatori o qualsiasi altra cosa senza mostrare alcuna icona. Voglio mostrare solo il testo ed essere in grado di modellarlo e ruotarlo ... Qualche suggerimento?
Risposte:
Ho risolto il mio problema utilizzando la funzione Leaflet L.DivIcon che rappresenta un'icona leggera per i marcatori che utilizza un semplice elemento div anziché un'immagine ... Questi marcatori hanno un html e un className che mi consentono di creare etichette con css driven stili ...
Aggiornamento per Leaflet 1.0: A partire da Leaflet 1.0, il plug-in Leaflet.label è obsoleto, poiché è stato incluso con il core Leaflet come L.Tooltip
. Non è necessario includere lo script di origine e la sintassi è leggermente cambiata. Esempio di utilizzo:
var marker = new L.marker([39.5, -77.3], { opacity: 0.01 }); //opacity may be set to zero
marker.bindTooltip("My Label", {permanent: true, className: "my-label", offset: [0, 0] });
marker.addTo(map);
Lo stile CSS può essere applicato alla classe come prima.
.my-label {
position: absolute;
width:1000px;
font-size:20px;
}
Sembra anche che l'opacità del marker possa essere impostata completamente su 0.
<script src="scripts/leaflet.label.js"></script>
Con il plug-in Leaflet Label, le etichette sono direttamente legate ai marker, ma è possibile impostare l'opacità del marker quasi a zero in modo che sia visibile solo l'etichetta. (Se si imposta l'opacità del marcatore su 0, anche l'etichetta associata scompare.)
var marker = new L.marker([39.5, -77.3], { opacity: 0.01 });
marker.bindLabel("My Label", {noHide: true, className: "my-label", offset: [0, 0] });
marker.addTo(map);
È quindi possibile utilizzare i CSS per modellare le etichette come meglio credi:
.my-label {
position: absolute;
width:1000px;
font-size:20px;
}
L.Tooltip
inside onEachFeature, viene visualizzato l'errore: "Uncaught TypeError: Impossibile eseguire 'appendChild' su 'Node': il parametro 1 non è di tipo 'Nodo'."
.toString()
a alla fine. marker.bindTooltip(feature.properties['prabhag_number'].toString(), {...
Puoi iniziare qui con questo plug-in Leaflet . Probabilmente crea o modifica un marker a tuo piacimento. Il testo proviene dagli attributi della funzione?
marker.bindTooltip("text here", { permanent: true, offset: [0, 12] });
Questo funziona per me