Я новичок в vue и пытаюсь установить параметры стиля на основе типа геометрии. У меня есть эта функция, которая добавляет линию на карту. Я хочу установить стиль и обновить свойства. Я заглянул в документацию по листовке geo Json, но когда я внедряю ее в vue, я не вижу, как будет установлен стиль. Это мой пример кода. geoJsonlayer установлен в другом компоненте. Меня также смущает, почему vue2leaflet следует использовать, а не просто листовку в vue. Пожалуйста, объясните мне, где я ошибаюсь, и какой выбрать.
methods : {
addFeature(geoJsonlayer, pointA, pointB) {
this.geoObj = [
{
type: "Feature",
geometry: {
type: "LineString",
coordinates: [
[pointA.longitude, pointA.latitude],
[pointB.longitude, pointB.latitude]
]
},
properties: {
id: "6845d6ef-2285-4c91-a6d1-be46574784a3",
name: "Line1",
status: "empty"
}
}
];
geoJsonlayer.addData(this.geoObj, { style: function(feature) {
console.log("feature", feature)
switch (feature.properties.status) {
case 'full': return {color: "#ff0000"};
case 'empty': return {color: "#0000ff"};
}
} });
}
}
Я попытался разделить функцию (функцию) и получить доступ на основе https://forum.vuejs.org/t/calling-a-function-inside-another-function-in-methods/17697. Я также пробовал фрагменты из https://jsfiddle.net/69nkmdyw/3/, но стиль никогда не устанавливается и ошибки тоже нет.