Я использую Leaflet в сочетании с функциями GeoJSON. Есть ли способ обозначить объекты GeoJSON (в данном случае - полигоны)? Это должно получить ярлыки от
feature.properties.name
Это мой код, где я думаю, что я мог бы вставить метку:
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
againstflow
источник
источник
Ответы:
Вы должны знать, какую листовку формата ожидает использовать. RFM. Пример: OpenLayers ожидает, что этот формат GeoJSON создаст точку и даст некоторые пользовательские атрибуты:
Как видите, я создал геометрию (точку) и присоединю к ней свои атрибуты. Когда я отправлю это OpenLayers, результат будет соответствовать примеру @ Aragon, используя «color» и «name» (как метку), чтобы настроить точку на карте.
Пожалуйста, скопируйте и вставьте этот пример GeoJSON в http://json.parser.online.fr/ или используйте сайт, чтобы попробовать и подтвердить свой собственный.
источник
return feature.properties.color;
Как видите,properties
этоfeature
атрибут, имеющийcolor
один из его атрибутов. Следуя этому пути, вы можете поместить в этот объект все, что захотите.RFM
совершенно неуместно. И разница между точкой и многоугольником значительна, так как знание, какую именно геометрию использовать, именно здесь является проблемойВот как я решил эту проблему с помощью Leaflet Polygons and Labels, чтобы вы получили плавающую метку на многоугольнике со свойством name.
Предположим, что:
Затем:
Как ни странно, координаты GeoJson (на самом деле EPSG: 4326) и Leaflet меняются местами по порядку.
источник
я думаю, что этот вопрос о openlayers.if так, вы можете использовать для маркировки;
я надеюсь, что это поможет вам ...
источник
fillColor: "${color}"
вместо создания функции?