Как получить сгенерированный идентификатор полигона Geo JSON? - PullRequest
0 голосов
/ 18 марта 2020

У меня есть данные Geo JSON, которые имеют автоматически сгенерированные идентификаторы при добавлении на карту.

map.addSource('source_id', {'type': 'geojson', 'data': geojson, 'generateId': true});

Теперь я использую функцию «лететь к координате», чтобы лететь к одному из полигонов Geo JSON. У меня вопрос, как мне получить доступ к сгенерированному ID многоугольника, на который я летел, чтобы я мог изменить его цвет? Я попытался сделать geo json .features [0] .id, но это было не определено. Спасибо.

map.flyTo({
    center: [
        -79.921388175900006,
        43.262788183700003
    ],
    zoom: 20,
    essential: true
});

Пример данных:

geojson = {
            "type": "FeatureCollection",
            "name": "layer0rooms",
            "features": [
              {
                "type": "Feature",
                "properties": {
                  "building_name": "Place A",
                  "room": "123"
                },
                "geometry": {
                  "type": "Polygon",
                  "coordinates": [
                    [
                      [
                        -79.921310315699998,
                        43.262819649790003
                      ],
                      [
                        -79.921330864840002,
                        43.262819649169998
                      ],
                      [
                        -79.921330864439994,
                        43.262812587409996
                      ],
                      [
                        -79.92138817723,
                        43.26281258569
                      ],
                      [
                        -79.921388175900006,
                        43.262788183700003
                      ],
                      [
                        -79.921380843899996,
                        43.26278280887
                      ],
                      [
                        -79.921317645399995,
                        43.262782810669997
                      ],
                      [
                        -79.921310313980001,
                        43.262788185940003
                      ],
                      [
                        -79.921310315699998,
                        43.262819649790003
                      ]
                    ]
                  ]
                }
              },
              {
                "type": "Feature",
                "properties": {
                  "building_name": "Place B",
                  "room":"456"
                },
                "geometry": {
                  "type": "Polygon",
                  "coordinates": [
                    [
                      [
                        -79.921201873119998,
                        43.262864495450003
                      ],
                      [
                        -79.921146004790003,
                        43.262864497220001
                      ],
                      [
                        -79.92114600264,
                        43.26282683422
                      ],
                      [
                        -79.921201870930005,
                        43.262826832519998
                      ],
                      [
                        -79.921201873119998,
                        43.262864495450003
                      ]
                    ]
                  ]
                }
              }
            ]
          }
...