拖动地图时打开第3层空白字段,如何限制它

时间:2015-05-13 17:33:21

标签: javascript drag openlayers-3 pan

我不希望用户在拖动地图时看到空白字段。我想限制它。我没有找到任何好的解决方案。

我的地图代码:

var map = new ol.Map({
    layers: [new ol.layer.Tile({
        source: new  ol.source.MapQuest({ layer: 'osm' }) }), vectorLayer],
    target: document.getElementById('map'),
    controls: ol.control.defaults().extend([
        new ol.control.ScaleLine(),
        new ol.control.ZoomSlider()
    ]),
    view: new ol.View({
        center: [-6217890.205764902, -1910870.6048274133],
        zoom: 3,
        maxZoom: 20
    })
});

问题:

enter image description here

1 个答案:

答案 0 :(得分:0)

你可以做几件事:

  1. 在地图容器中设置背景颜色或图像,如examples中所示,以使白色间隙看起来更漂亮。

    .map {
      ...
      background: url(map-background.jpg) repeat;
    }
    
  2. view上设置minZoom属性,以防止地图缩小太远。但在大屏幕上,用户可能仍会看到差距。

    view: new ol.View({
        ...
        minZoom: 4
    })
    
  3. 或者将视图范围限制为切片边界(ol.proj.get('EPSG:3857').getExtent())。这不是yet包含在OpenLayers中,但您可以在此question找到解决方法。