Работают ли встроенные стили GeoJSON с Mapbox GL?

Можно ли использовать встроенный атрибут properties источника данных GeoJSON для автоматического оформления карты Mapbox GL без предварительного указания стиля?

У меня есть вариант использования, когда я динамически загружаю данные GeoJSON LineString, которые должны быть определенного цвета, и в них уже встроены данные стиля:

{"properties": {"color": "#ffff33"...

Прямо сейчас у меня довольно неэлегантная установка, в которой соответствующий цвет анализируется, преобразуется в стиль и добавляется на карту при каждой загрузке:

    $scope.patternPropToStyle = function(props) {
      var id = 'pattern' + props.pid;
      var style = {
        "id": id,
        "type": "line",
        "source": id,
        "render": {
          "$type": "LineString",
          "line-join": "round",
          "line-cap": "round"
        },
        "paint": {
          "line-color": props.color,
          "line-width": 8
        }
      }
      $scope._mapStyle.layers.push(style);
      $scope._map.setStyle($scope._mapStyle);
    }

Я чувствую, что должен быть лучший способ сделать это.


person redct    schedule 12.02.2015    source источник


Ответы (1)


В настоящее время simplestyle-spec не поддерживается в Mapbox GL. В настоящее время поддержка GeoJSON все еще очень примитивна, учитывая, что изначально основное внимание уделялось векторным тайлам. Поддержка simplestyle-spec, безусловно, в планах.

person tmcw    schedule 12.02.2015
comment
Спасибо! Хорошо знать. Я пытаюсь преобразовать веб-приложение, которое интенсивно использует GeoJSON, в Mapbox GL, поэтому я посмотрю, что я могу взломать за это время. :) - person redct; 14.02.2015