我正在这个项目中,我想通过无服务器解决方案将相对动态的数据(每15分钟更新一次)添加到mapbox-gl。我遵循了有关创建serverless vector tiles的出色指南,并使用了基础图块。
我的问题是,您将如何使用类似的方法将geojson点层添加到地图(托管在简单的HTML页面上)?
var map = new mapboxgl.Map({ container: 'map', style: style: "https://{domain}/bright.json", }); var url = 'https://{domain}/geojsonfile.json' map.addSource('geojsonfile', { 'type': 'geojson', 'data': url }); map.addLayer({ 'id': 'geojsonfile', 'type': 'symbol', 'source': 'geojsonfile', 'layout': { 'icon-image': 'rocket-15' } });
在无服务器矢量环境中,不使用Tippecanoe将json文件转换为protobuf矢量图块,而是从javascript文件直接将图层添加到地图中。上面用于addsource和addlayer的js来自此Mapbox guide。
当我传递mapboxgl.accessToken而不是自托管代码时,我可以使上述js工作;但是那是我所能得到的。 geojson文件托管在启用了CORS的s3存储桶中。
在源中加载或显示图层是否有问题?我也尝试过修改bright.json文件以处理源代码和图层,以便只替换s3文件,但是运气不佳。
非常感谢任何帮助/建议。
我正在这个项目中,我想通过无服务器解决方案将相对动态的数据(每15分钟更新一次)添加到mapbox-gl。我遵循了关于创建无服务器...
经过大量的盲目尝试和错误,终于找到了解决方案。原来我的原始脚本试图将图层加载到地图on-load