2015-02-12 9 views
2

Возможно ли использовать встроенный атрибут источника данных GeoJSON properties для автоматического создания карты Mapbox GL без предварительного указания стиля?Встраиваемые стили 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); 
    } 

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

ответ

1

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

+0

Спасибо! Хорошо знать. Я пытаюсь преобразовать webapp, который сильно использует GeoJSON для Mapbox GL, поэтому я увижу, что я могу взломать вместе тем временем. :) – redct

+0

См. Https://github.com/mapbox/mapbox-gl-style-spec/issues/249 –