Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 拖动地图时打开第三层空白区域,如何限制 < >我不希望用户在拖动地图时看到空白字段。我想限制它。我没有找到任何伟大的决心_Javascript_Drag_Openlayers 3_Pan - Fatal编程技术网

Javascript 拖动地图时打开第三层空白区域,如何限制 < >我不希望用户在拖动地图时看到空白字段。我想限制它。我没有找到任何伟大的决心

Javascript 拖动地图时打开第三层空白区域,如何限制 < >我不希望用户在拖动地图时看到空白字段。我想限制它。我没有找到任何伟大的决心,javascript,drag,openlayers-3,pan,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.contro

我的地图代码:

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
    })
});
问题:


您可以做以下几件事:

  • 在地图容器上设置背景色或图像,如中所示,以使白色间隙看起来更好

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

    view: new ol.View({
        ...
        minZoom: 4
    })
    
  • 或者将视图范围限制在平铺边界(
    ol.proj.get('EPSG:3857').getExtent()
    )。OpenLayers中未包含此功能,但您可以在其中找到解决方法


  • 使用这种方法已经帮助我获得var extent=ol.proj.get('EPSG:3857').getExtent();视图:新ol.视图({center:[-6217890.205764902,-1910870.6048274133],缩放:3,最大缩放:20,最小缩放:3,范围:范围})谢谢