Leaflet haritasında metin işaretleyicileri veya herhangi bir simge göstermeden başka bir şey kullanarak göstermenin bir yolunu arıyorum. Yalnızca metni göstermek ve onu stillendirmek ve döndürmek istiyorum ... Herhangi bir öneriniz var mı?
Leaflet haritasında metin işaretleyicileri veya herhangi bir simge göstermeden başka bir şey kullanarak göstermenin bir yolunu arıyorum. Yalnızca metni göstermek ve onu stillendirmek ve döndürmek istiyorum ... Herhangi bir öneriniz var mı?
Yanıtlar:
Sorunumu, görüntü yerine basit bir div öğesi kullanan işaretçiler için hafif bir simgeyi temsil eden Leaflet L.DivIcon özelliğini kullanarak çözdüm ... Bu işaretleyicilerin, hss ve css ile etiketler oluşturmama izin veren bir sınıfAdı seçeneği var. stilleri ...
Leaflet 1.0 Güncellemesi: Leaflet 1.0'dan itibaren, Leaflet.label eklentisi , Leaflet çekirdeğine olduğu gibi dahil edildiği için kullanıma sunuldu L.Tooltip
. Kaynak betiği eklemenize gerek yoktur ve sözdizimi biraz değişmiştir. Örnek kullanım:
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);
CSS stilleri, sınıfa önceden olduğu gibi uygulanabilir.
.my-label {
position: absolute;
width:1000px;
font-size:20px;
}
Ayrıca, işaretçi opaklığının tamamen 0 olarak ayarlandığı görünmektedir.
<script src="scripts/leaflet.label.js"></script>
Leaflet Label eklentisi ile etiketler doğrudan işaretleyicilere bağlanır, ancak işaretleyicinin opaklığını neredeyse sıfıra ayarlayabilirsiniz, böylece yalnızca etiket görünür. (İşaretleyicinin opaklığını 0 olarak ayarlarsanız, ilişkili etiket de kaybolur.)
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);
Daha sonra etiketlerinizi uygun gördüğünüz şekilde biçimlendirmek için CSS'yi kullanabilirsiniz:
.my-label {
position: absolute;
width:1000px;
font-size:20px;
}
L.Tooltip
OnEachFeature içinde kullanılırken hata alıyorum: "Uncaught TypeError: 'Node' üzerinde 'appendChild' yürütülemedi: parametre 1 'Node' türünde değil."
.toString()
, sonunda bir tane eklemek zorunda kaldım . marker.bindTooltip(feature.properties['prabhag_number'].toString(), {...
Buradan bu Broşür eklentisi ile başlayabilirsiniz . Muhtemelen beğeninize bir işaretleyici oluşturun veya düzenleyin. Metin özellik özelliklerinden mi geliyor?
marker.bindTooltip("text here", { permanent: true, offset: [0, 12] });
Bu benim için çalışıyor