Как работает «пошаговое» выражение в Mapbox? - PullRequest
0 голосов
/ 26 октября 2018

Как работает пошаговая функция в свойстве Mapbox fill-color массива ??Хотя:

R=[ 'interpolate', ['linear'],['number',['get', dim_properties.name]], -150, "#800026", -133, "#bd0026", -116, "#e31a1c", -100, "#fc4e2a", -83, "#fd8d3c", -66, "#feb24c", -50, "#fed976", -33, "#ffeda0", -16, "#ffffcc", 0, "#ffffff"]

map.addLayer({
            id: 'er',
            type: 'fill',
            source: {
              type: 'vector',
              url: pixelling_url
            },
            'source-layer':pixelling_source_layer,
                paint: {

        'fill-color':R
    }

отлично работает,

этот другой код не работает.

R=[ 'step',['get', dim_properties.name]], -150, "#800026", -133, "#bd0026", -116, "#e31a1c", -100, "#fc4e2a", -83, "#fd8d3c", -66, "#feb24c", -50, "#fed976", -33, "#ffeda0", -16, "#ffffcc", 0, "#ffffff"]

map.addLayer({
            id: 'er',
            type: 'fill',
            source: {
              type: 'vector',
              url: pixelling_url
            },
            'source-layer':pixelling_source_layer,
                paint: {

        'fill-color':R
    }

Сообщение об ошибке: "paint.fill-color: ожидается ровныйколичество аргументов

Обратите внимание, что разница между двумя кусками кода лежит только в определении R.

1 Ответ

0 голосов
/ 27 ноября 2018

С помощью выражений шагов вам нужно установить базовое значение. Простое удаление значения первого разрыва, если хотите, должно решить вашу проблему. Прямо сейчас Mapbox считывает только три аргумента (тип выражения, свойство, набор точек останова), когда ищет четыре (тип выражения, значение свойства, базовое значение, набор точек останова). По сути, вам не нужно определять минимальное значение. Mapbox GL выведет, что базовое значение должно быть присвоено любым объектам, которые находятся ниже первой точки останова. В этом случае это будут любые функции, которые удовлетворяют условию dim_properties.name < -133

    R = [
      'step', // arg 1
      ['get', 'dim_properties.name'], // arg 2
      '#800026', // arg 3
      -133, '#bd0026', // rest of the expression is arg 4
      -116, '#e31a1c',
      -100, '#fc4e2a',
      -83, '#fd8d3c',
      -66, '#feb24c',
      -50, '#fed976',
      -33, '#ffeda0',
      -16, '#ffffcc',
      0, '#ffffff'
     ]
...