Mapbox GL JS - возможно ли получить название улицы для конкретного lng/lat?

У меня есть Mapbox GL JS реализация, которая получает свои данные из вектора mbtiles файл, который я скачал с http://openmaptiles.com/. я использую tileserver.php с mbtiles файл для обслуживания PBF данные, которые Mapbox GL может использовать для отображения карты.

Есть ли способ извлечь данные из этого в определенной области или lng/lat-pair, используя Javascript?

1 ответ

После того, как вы добавили свои источники на карту Mapbox-GL-JS и создали слой (скажем, "дороги"), который ссылается на него, вы можете использовать map.querySourceFeatures() чтобы получить функции в данном месте экрана. Чтобы превратить лат / лонг в место на экране, вам нужно использовать map.project(),

Итак, все

var features = map.queryRenderedFeatures(map.project([mylng, mylat]), { layers: ['roads'] });
var p = features && features[0] && features[0].properties;

p теперь содержит свойства объекта в этом месте.

Другие вопросы по тегам