Używam Ulotki w połączeniu z funkcjami GeoJSON. Czy istnieje sposób na oznaczenie obiektów GeoJSON (w tym przypadku - wielokątów)? Powinien uzyskać etykiety od
feature.properties.name
To jest mój kod, w którym myślę, że mógłbym wstawić etykietę:
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
przeciwprąd
źródło
źródło
Odpowiedzi:
Musisz wiedzieć, która ulotka formatu będzie używana. RFM. Przykład: OpenLayers oczekuje, że ten format GeoJSON utworzy punkt i poda pewne niestandardowe atrybuty:
Jak widać, stworzyłem geometrię (punkt) i dołączam do niej moje atrybuty. Kiedy wyślę to do OpenLayers, wynik zmieści się w przykładzie @ Aragon, używając „koloru” i „nazwy” (jako etykiety), aby dostosować punkt na mapie.
Skopiuj i wklej ten przykład GeoJSON w http://json.parser.online.fr/ lub użyj witryny, aby spróbować zweryfikować własną.
źródło
return feature.properties.color;
Jak widać,properties
jestfeature
atrybutem i macolor
jako jeden z jego atrybutów. W ten sposób możesz włożyć dowolny obiekt do tego obiektu.RFM
jest całkowicie nieuzasadniony. Różnica między punktem a wielokątem jest znacząca, ponieważ znajomość używanej geometrii jest właśnie tutaj problememOto jak rozwiązałem go za pomocą wielokątów ulotek i etykiet, dzięki czemu uzyskasz pływającą etykietę na wielokącie z jego właściwością name.
Przypuszczać:
Następnie:
Co dziwne, GeoJson (właściwie EPSG: 4326) i współrzędne ulotki są zamieniane w kolejności.
źródło
myślę, że to pytanie dotyczy openlayers.if, więc możesz użyć do etykietowania;
Mam nadzieję, że Ci to pomoże...
źródło
fillColor: "${color}"
tworzysz funkcji?