如何在打开的图层中创建一个自定义控件,里面有图像?

时间:2017-08-10 13:40:01

标签: controls custom-controls openlayers

http://openlayers.org/en/latest/examples/custom-controls.html?q=custom

这是如何创建自定义控件的一个很好的示例,但我似乎无法使其与图像一起使用。

我想要包含在自定义控件中的图片是here

另外,我不希望图像做任何事情,只是在角落里。

1 个答案:

答案 0 :(得分:1)

自定义控件基本上只是带有事件处理程序的DOM元素,因此您需要做的就是创建一个元素并为其应用一点CSS。

  customControl = function(opt_options) {
    var element = document.createElement('div');
    element.className = 'custom-control ol-unselectable ol-control';
    ol.control.Control.call(this, {
      element: element
    });
  };
  ol.inherits(customControl, ol.control.Control);

  var map = new ol.Map({
    layers: [new ol.layer.Tile({source: new ol.source.OSM()})],
    controls: [new customControl],
    target: 'map',
    view: new ol.View({
      center: [-11000000, 4600000],
      zoom: 4
    })
  });

CSS:

.custom-control {
  top: 20px;
  right: 20px;
  width: 70px;
  height: 70px;
  background: no-repeat url('http://openlayers.org/en/latest/examples/resources/logo-70x70.png')
}
相关问题