繁体   English   中英

Mapbox GL JS-setData

[英]Mapbox GL JS - setData

我正在使用setData URL来改善MapBox性能:

(source as GeoJSONSource).setData('http://localhost:8888/api/tracking/all');

但是,API没有发送MapBox可直接读取的GeoJson。 因此,为了避免更新后端部分,我想在前端进行一些转换。

但是我找不到解决办法,你有什么主意吗?

我试过了,但是不起作用:

(source as GeoJSONSource).setData('http://localhost:8888/api/tracking/all').map(this.aisDataService.transformBackend)

在此先感谢您的帮助。

达米安

由于方法setData需要将正确的geo-json作为对象或具有正确的geo-json的URL行,因此您需要:

1)获取远程json 2)将其转换为geo-json 3)setData

axios库示例:

  axios
    .get(remoteDataURL)
    .then(function(res) {
      var geojson = {
        "type": "FeatureCollection",
        "features": res.data.map(transformBackend)
      }
      map.getSource('data').setData(geojson)
    })

[ https://jsfiddle.net/97wq4L0f/ ]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM