Mapbox GL JS-是否可以获取特定lng / lat的街道名称?

时间:2018-07-14 10:20:57

标签: mapbox-gl-js osm.pbf

我有一个Mapbox GL JS实现,它是从我从www.openmaptiles.com下载的向量mbtiles文件中获取数据的。我将tileserver.phpmbtiles文件一起使用来提供PBF数据,Mapbox GL可以使用该数据显示地图。

有没有办法使用Javascript从特定区域或lng / lat对中提取数据?

1 个答案:

答案 0 :(得分:0)

将源添加到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现在包含该位置上对象的属性。