【发布时间】:2023-01-30 21:01:50
【问题描述】:
尝试检索外部 GeoJSON 数据源时,可以将坐标值作为变量传递吗?理想情况下,我想传递这样的东西,但它对我不起作用。
map.addSource('geojsonpoints', {
type: "geojson",
data: 'http://myexample.com/pins?lat={lat}&lon={long}'
});
如果我使用 Map Vector Tiles (mvt) 作为源,我可以传递 Z、X、Y 坐标。即这有效:
map.addSource('mapvectortiles', {
'type': 'vector',
'tiles': ['http://myexample.com/{z}/{x}/{y}'],
但我还没有想出如何为 GeoJSON 源做这件事。如果在 n Mapbox GL JS 中有可能,有人有任何想法吗?
仅供参考,我可以使用下面的方法生成 URL,但问题是当我移动地图时它不会刷新,这与矢量图块不同。
var lng = map.getCenter().lng
var lat = map.getCenter().lat
var url = 'http://myexample.com/pins?lat='+lat+'&lon='+lng
map.addSource('EPC', {
type: "geojson",
data: url
});
【问题讨论】: