如何解决如何在Leaflet中为平铺请求添加自定义授权标头
我正在使用Leaflet.VectorGrid插件在传单地图上加载pbf矢量图块。我检索矢量图块的API需要传递授权标头。在Mapbox GL js中,可以使用transformRequest选项解决此问题。示例:
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授权消息?
对于插件中的参考矢量层构造器:
var vectorTileOptions = {
rendererFactory: L.canvas.tile
};
var pbfLayer = L.vectorGrid.protobuf(vectorTileUrl,VectorTileOptions).addTo(leafletMap);
解决方法
此Github问题https://github.com/Leaflet/Leaflet.VectorGrid/issues/89描述了在实例化将用作fetch
options到retrieve the tiles的图层时可以传递的fetchOptions
属性。
您应该能够做到
var vectorTileOptions = {
rendererFactory: L.canvas.tile,fetchOptions: {
headers: {
Authorization: 'Basic ' + key
}
}
};
var pbfLayer = L.vectorGrid.protobuf(vectorTileUrl,VectorTileOptions).addTo(leafletMap);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。