Estou usando o Leaflet combinado com os recursos do GeoJSON. Existe uma maneira de rotular os recursos do GeoJSON (neste caso - polígonos)? Deve obter rótulos de
feature.properties.name
Este é o meu código onde acho que poderia inserir o rótulo:
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
contrafluxo
fonte
fonte
Respostas:
Você precisa conhecer o formato de folheto que espera usar. RFM. Exemplo: O OpenLayers espera que este formato GeoJSON crie um ponto e forneça alguns atributos personalizados:
Como você pode ver, eu criei uma geometria (ponto) e juntei meus atributos a ela. Quando eu enviar para o OpenLayers, o resultado se encaixará no exemplo de @ Aragon, usando "color" e "name" (como label) para personalizar o ponto no mapa.
Copie e cole este exemplo do GeoJSON em http://json.parser.online.fr/ ou use o site para tentar validar o seu próprio.
fonte
return feature.properties.color;
Como você pode ver,properties
é umfeature
atributo e temcolor
como um de seus atributos. Você pode colocar o que quiser neste objeto, seguindo este caminho.RFM
é totalmente desnecessário. E a diferença entre um ponto e um polígono é significativo, uma vez sabendo que a geometria para uso é exatamente a questão aquiEis como eu o resolvi com polígonos e rótulos de folhetos, para que você obtenha um rótulo flutuante no polígono com sua propriedade name.
Suponha:
Então:
Por incrível que pareça, as coordenadas GeoJson (na verdade EPSG: 4326) e Leaflet são trocadas em ordem.
fonte
Eu acho que essa pergunta é sobre openlayers.if, então você pode usar para rotular;
espero que ajude você ...
fonte
fillColor: "${color}"
vez de criar uma função?