Saya menggunakan Leaflet yang dikombinasikan dengan fitur GeoJSON. Apakah ada cara untuk memberi label fitur GeoJSON (dalam hal ini - poligon)? Seharusnya mendapat label dari
feature.properties.name
Ini adalah kode saya di mana saya pikir saya dapat memasukkan label:
function style(feature) {
return {
weight: 2,
opacity: 1,
color: 'white',
dashArray: '3',
fillOpacity: 0.7,
fillColor: getColor(feature.properties.coloring)
};
}
javascript
web-mapping
labeling
geojson
leaflet
melawan arus
sumber
sumber
Jawaban:
Anda perlu tahu format leaflet yang ingin digunakan. RFM. Contoh: OpenLayers mengharapkan format GeoJSON ini untuk membuat titik dan memberikan beberapa atribut khusus:
Seperti yang Anda lihat, saya telah membuat Geometri (Titik) dan bergabung dengan atribut saya untuk itu. Ketika saya mengirim ini ke OpenLayers, hasilnya akan sesuai dengan contoh @ Aragon, menggunakan "warna" dan "nama" (sebagai label) untuk menyesuaikan titik di peta.
Silakan salin dan tempel contoh GeoJSON ini di http://json.parser.online.fr/ atau gunakan situs untuk mencoba dan memvalidasi milik Anda.
sumber
return feature.properties.color;
Seperti yang Anda lihat,properties
adalahfeature
atribut dan milikicolor
sebagai salah satu atributnya. Anda dapat memasukkan apa pun yang Anda inginkan ke objek ini dengan mengikuti cara ini.RFM
benar-benar tidak pantas untuk. Dan perbedaan antara titik dan poligon adalah signifikan, karena mengetahui geometri mana yang tepat digunakan adalah masalah di siniInilah cara saya menyelesaikannya dengan Leaflet Polygons and Labels, sehingga Anda mendapatkan label mengambang pada poligon dengan properti namanya.
Seharusnya:
Kemudian:
Cukup aneh, GeoJson (sebenarnya EPSG: 4326) dan koordinat Leaflet ditukar secara berurutan.
sumber
Saya pikir pertanyaan ini adalah tentang openlayers.Jika demikian, Anda dapat menggunakannya untuk memberi label;
Saya harap ini membantu Anda ...
sumber
fillColor: "${color}"
membuat fungsi?