Получите границы слоев Mapbox geo json из набора плиток, загруженного в Mapbox Studio - PullRequest
0 голосов
/ 08 апреля 2020

Я успешно загрузил набор плиток geo json в Mapbox Studio и отрисовал многоугольники в geo json в моем веб-приложении, используя map.addLayer и ссылаясь на конечную точку URL набора плиток в Mapbox Studio.

То, что я хочу сейчас сделать, это либо через API Mapbox, либо локально в моем файле машинописи получить границы добавленного слоя.

Я знаю, что решение должно включать turf и bbox, но у меня возникают проблемы с получением значений, которые мне нужно передать в map.fitBounds (bbox) для настройки карты.

Заранее спасибо за помощь!

1 Ответ

0 голосов
/ 08 апреля 2020

Ожидаете ли вы, что содержимое вашего слоя Geo JSON будет динамически меняться на стороне клиента, или полигоны, добавленные через начальную загрузку набора Geo JSON, будут постоянными? Если полигоны не будут меняться, я бы порекомендовал вычислить охватывающую ограничивающую рамку для полигонов в вашем наборе плиток, чтобы затем передать их в ваше веб-приложение. Инструмент geoson.io позволяет загрузить Geo JSON для визуализации на карте в браузере. После загрузки данных вы можете выбрать инструмент «маркер» на панели инструментов в верхнем правом углу и вручную разместить маркеры на карте, чтобы указать координаты Southwest и Northeast ограничительной рамки для всех полигонов. Соответствующий Geo JSON из этих размещенных маркеров будет отображаться на панели в правой части интерфейса, из которой вы можете получить координаты широты и долготы размещенных маркеров для передачи в Map#fitBounds как * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Maple Map - причина, по которой вы должны в идеале вычислять ограничивающий прямоугольник заранее, а не на стороне клиента. ограничено географическим содержанием c, отображаемым в данный момент на экране. Mapbox действительно имеет представление о компонентах вашего набора листов или слоев карты за пределами текущего видового экрана, поскольку он не отображает эти данные! Вы можете использовать Map#queryRenderedFeatures или Map#querySourceFeatures для анализа базового Geo JSON, который визуализируется, но результаты ограничены отображаемыми данными, и процесс, вероятно, намного более вычислительно дорогой чем необходимо.

...