【问题标题】:How to use own styling of bing maps in openlayers如何在 openlayers 中使用自己的 bing 地图样式
【发布时间】:2020-03-25 22:23:27
【问题描述】:

有一个选项可以用自己的颜色设置 BingMaps 的样式: https://www.bing.com/api/maps/sdk/mapcontrol/isdk/custommaptilestylesandhexcolor#TS

具有预定义样式的 Openlayers 中的 BingMaps 代码: https://codesandbox.io/s/bing-maps-oj97i

import "ol/ol.css";
import Map from "ol/Map";
import View from "ol/View";
import TileLayer from "ol/layer/Tile";
import BingMaps from "ol/source/BingMaps";

var styles = [
  "RoadOnDemand",
  "Aerial",
  "AerialWithLabelsOnDemand",
  "CanvasDark",
  "OrdnanceSurvey"
];
var layers = [];
var i, ii;
for (i = 0, ii = styles.length; i < ii; ++i) {
  layers.push(
    new TileLayer({
      visible: false,
      preload: Infinity,
      source: new BingMaps({
        key: "[BingMaps KEY]",
        imagerySet: styles[i],
        maxZoom: 19
      })
    })
  );
}
var map = new Map({
  layers: layers,
  target: "map",
  view: new View({
    center: [-6655.5402445057125, 6709968.258934638],
    zoom: 13
  })
});

var select = document.getElementById("layer-select");
function onChange() {
  var style = select.value;
  for (var i = 0, ii = layers.length; i < ii; ++i) {
    layers[i].setVisible(styles[i] === style);
  }
}
select.addEventListener("change", onChange);
onChange();

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

【问题讨论】:

    标签: javascript openlayers bing-maps


    【解决方案1】:

    您需要一个自定义磁贴加载功能来将额外设置添加到磁贴 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';
      });
    })
    

    这里描述了设置https://docs.microsoft.com/en-us/bingmaps/articles/custom-map-styles-in-bing-maps 看起来更简单的方法可能是将它们添加到 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'
    

    【讨论】:

      猜你喜欢
      • 2015-03-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多