Szukam sposobu na pokazanie tekstu na mapie Ulotki za pomocą markerów lub czegokolwiek innego bez pokazywania żadnej ikony. Chcę pokazać tylko tekst i móc go stylizować i obracać ... Wszelkie sugestie?
Szukam sposobu na pokazanie tekstu na mapie Ulotki za pomocą markerów lub czegokolwiek innego bez pokazywania żadnej ikony. Chcę pokazać tylko tekst i móc go stylizować i obracać ... Wszelkie sugestie?
Odpowiedzi:
Rozwiązałem mój problem, używając funkcji Leaflet L.DivIcon, która reprezentuje lekką ikonę znaczników, która używa prostego elementu div zamiast obrazu ... Te znaczniki mają opcje html i className, które pozwalają mi tworzyć etykiety z napędem css style ...
Aktualizacja do Ulotki 1.0: Począwszy od Ulotki 1.0, wtyczka Leaflet.label jest depracowana, ponieważ została dołączona do rdzenia Ulotki jako L.Tooltip
. Nie ma potrzeby dołączania skryptu źródłowego, a składnia uległa nieznacznej zmianie. Przykładowe użycie:
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);
Styl CSS można zastosować do klasy w taki sam sposób jak poprzednio.
.my-label {
position: absolute;
width:1000px;
font-size:20px;
}
Wydaje się również, że krycie markera może być całkowicie ustawione na 0.
<script src="scripts/leaflet.label.js"></script>
Dzięki wtyczce Leaflet Label etykiety są bezpośrednio powiązane ze znacznikami, ale można ustawić krycie znacznika na prawie zero, aby widoczna była tylko etykieta. (Jeśli ustawisz krycie znacznika na 0, powiązana etykieta również zniknie.)
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);
Następnie możesz użyć CSS do stylizowania etykiet według własnego uznania:
.my-label {
position: absolute;
width:1000px;
font-size:20px;
}
L.Tooltip
wewnątrz onEachFeature pojawia się błąd: „Błąd typu Uncaught TypeError: Nie można wykonać polecenia„ appendChild ”w„ Węzle ”: parametr 1 nie jest typu„ Węzeł ”.”
.toString()
na końcu. marker.bindTooltip(feature.properties['prabhag_number'].toString(), {...
Możesz zacząć tutaj od tej wtyczki Ulotki . Prawdopodobnie stwórz lub edytuj znacznik według własnych upodobań. Czy tekst pochodzi z atrybutów funkcji?
marker.bindTooltip("text here", { permanent: true, offset: [0, 12] });
To działa dla mnie