Mapbox - как я могу иметь несколько значений для свойства и фильтровать их независимо - PullRequest
0 голосов
/ 05 сентября 2018

Я использую Mapbox API для загрузки набора Tileset с данными компаний. Для каждой из компаний у меня есть 2 поля (сектора и теги), которые могут иметь более одного значения, например:

Company name: Acme
Sectors: IT, SmartTech
Tags: digital, smart, application

Значения этих полей являются массивом в моем поле GeoJSON и вложены в узел Свойства, однако они импортируются как одна строка, а не как отдельные значения этого свойства, поэтому, если я хочу настроить фильтр на карте на основе секторов для отображения только ИТ-компаний Acme не будет отображаться, поскольку его свойство секторов: ["IT", "Engineering"]

Это моя структура GeoJSON:

{  
   "type":"FeatureCollection",
   "features":[  
      {  
         "id":45543000000218192,
         "type":"Feature",
         "geometry":{  
            "type":"Point",
            "coordinates":[  
               1.475,
               52.796
            ]
         },
         "properties":{  
            "Company":"Acme",
            "Website":"",
            "Sectors":[  
               "SmartTech",
               "IT"
            ],
            "Tags":[  
               "digital",
               "smart",
               "application"
            ]
         }
      }
   ]
}

Вот так выглядит мой фильтр стилей Mapbox:

enter image description here

1 Ответ

0 голосов
/ 16 июля 2019

Глен, мне пришлось создать для каждого из моих свойств индивидуальные значения для каждого сектора и тега, а затем пометить их с помощью чисел (1) и (0) в зависимости от того, применяется ли этот сектор / тег к этому свойству. Таким образом, я смог применить фильтры, которые мне были нужны в Mapbox.

{  
   "type":"FeatureCollection",
   "features":[  
      {  
         "id":45543000000218192,
         "type":"Feature",
         "geometry":{  
            "type":"Point",
            "coordinates":[  
               1.475,
               52.796
            ]
         },
         "properties":{  
            "Company":"Acme",
            "Website":"",
            "Sector - SmartTech": 0,
            "Sector - IT": 1,
            "Tag - Digital": 0,
            "Tag - Smart": 1,
            "Tag - Apps": 1
         }
      }
   ]
}
...