Mapbox-gl托管S3-addsource

问题描述 投票:0回答:1

我正在这个项目中,我想通过无服务器解决方案将相对动态的数据(每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。我遵循了关于创建无服务器...

javascript amazon-web-services amazon-s3 mapbox mapbox-gl
1个回答
0
投票

经过大量的盲目尝试和错误,终于找到了解决方案。原来我的原始脚本试图将图层加载到地图on-load

© www.soinside.com 2019 - 2024. All rights reserved.