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
теперь содержит свойства объекта в этом месте.