首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何为Leaflet中的磁贴请求添加自定义Authorization Header

如何为Leaflet中的磁贴请求添加自定义Authorization Header
EN

Stack Overflow用户
提问于 2020-08-27 18:12:47
回答 1查看 1.3K关注 0票数 1

我正在使用Leaflet.VectorGrid插件加载pbf矢量瓦片到一个小叶地图上。我检索向量tiles的API需要传递一个authorization头。在Mapbox GL js中,这可以通过使用transformRequest选项来解决。示例:

代码语言:javascript
复制
var baseLayer = L.mapboxGL({
    accessToken: token,
    style: 'myStyle',
    transformRequest: (url, resourceType)=> {
        if(resourceType == 'Tile' && url.startsWith(TILE_SERVER_HOST)) {
            return {
                url: url,
                headers: { 'Authorization': 'Basic ' + key }
            };
        }
    }
}).addTo(leafletMap);

我如何在Leaflet中做类似的事情,以绕过我收到的401授权消息?

对于插件中的引用向量层构造函数:

代码语言:javascript
复制
var vectorTileOptions = {
    rendererFactory: L.canvas.tile
};

var pbfLayer = L.vectorGrid.protobuf(vectorTileUrl, VectorTileOptions).addTo(leafletMap);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-27 18:40:40

这个Github issue https://github.com/Leaflet/Leaflet.VectorGrid/issues/89描述了一个fetchOptions属性,您可以在实例化您的层时传递该属性,该属性将用作fetch options to retrieve the tiles

你应该能够做到

代码语言:javascript
复制
var vectorTileOptions = {
    rendererFactory: L.canvas.tile,
    fetchOptions: {
        headers: { 
            Authorization: 'Basic ' + key
        }
    }
};

var pbfLayer = L.vectorGrid.protobuf(vectorTileUrl, VectorTileOptions).addTo(leafletMap);
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63613788

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档