Как установить стиль для каждой функции geo Json в vue без использования vue2leaflet - PullRequest
0 голосов
/ 08 февраля 2020

Я новичок в 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/, но стиль никогда не устанавливается и ошибки тоже нет.

...