Javascript 如何在openlayers中使用自己的bing地图样式

Javascript 如何在openlayers中使用自己的bing地图样式,javascript,openlayers,bing-maps,Javascript,Openlayers,Bing Maps,有一个选项可以使用自己的颜色设置BingMaps的样式: 具有预定义样式的Openlayers中的地图代码: 导入“ol/ol.css”; 从“ol/Map”导入地图; 从“ol/View”导入视图; 从“ol/layer/Tile”导入TileLayer; 从“ol/source/BingMaps”导入BingMaps; 变量样式=[ “RoadOnDemand”, “空中的”, “带标签的天线命令”, “拉票黑暗”, “OrdnanceSurvey” ]; var层=[]; 变量i、ii

有一个选项可以使用自己的颜色设置BingMaps的样式:

具有预定义样式的Openlayers中的地图代码:

导入“ol/ol.css”;
从“ol/Map”导入地图;
从“ol/View”导入视图;
从“ol/layer/Tile”导入TileLayer;
从“ol/source/BingMaps”导入BingMaps;
变量样式=[
“RoadOnDemand”,
“空中的”,
“带标签的天线命令”,
“拉票黑暗”,
“OrdnanceSurvey”
];
var层=[];
变量i、ii;
对于(i=0,ii=styles.length;i

如何在Openlayers中使用自己的BingMaps样式/颜色?有可能吗?

您需要一个自定义磁贴加载功能来将额外设置添加到磁贴url中。在该示例中,您需要监控网络流量,以了解每个设置如何更改url

layers.forEach(function(layer){
  layer.getSource().setTileLoadFunction(function(tile, src) {
    tile.getImage().src = src + '&c4w=1&cstl=rd&src=h&st=ar|fc:b5db81_wt|fc:a3ccff_tr|fc:50a964f4;sc:50a964f4_ard|fc:ffffff;sc:ffffff_rd|fc:50fed89d;sc:50eab671_st|fc:ffffff;sc:ffffff_g|lc:dfdfdf';
  });
})
这里描述了设置。看起来更简单的方法可能是将它们添加到API密钥中

key: "[BingMaps KEY]" + '&c4w=1&cstl=rd&src=h&st=ar|fc:b5db81_wt|fc:a3ccff_tr|fc:50a964f4;sc:50a964f4_ard|fc:ffffff;sc:ffffff_rd|fc:50fed89d;sc:50eab671_st|fc:ffffff;sc:ffffff_g|lc:dfdfdf'
key: "[BingMaps KEY]" + '&c4w=1&cstl=rd&src=h&st=ar|fc:b5db81_wt|fc:a3ccff_tr|fc:50a964f4;sc:50a964f4_ard|fc:ffffff;sc:ffffff_rd|fc:50fed89d;sc:50eab671_st|fc:ffffff;sc:ffffff_g|lc:dfdfdf'