【问题标题】:How to avoid pan map at initial zoom view如何避免在初始缩放视图中平移地图
【发布时间】:2016-07-18 22:58:51
【问题描述】:

当应用程序加载并开始用户交互时,我想避免在初始缩放时平移地图。 Openlayers 3 的正常行为是允许用户在地图中间进行平移(如果他愿意),但我需要在初始缩放时限制这一点,以防止显示 bbox 之外的制图。

有可能吗?

改变地图的范围我没有得到预期的结果。

提前致谢

【问题讨论】:

    标签: javascript openlayers-3


    【解决方案1】:

    只发布代码的相关部分

      var panInteraction = new ol.interaction.DragPan();
    
      var map = new ol.Map({
          layers: [raster, vector],
          interactions : [panInteraction],
            target: 'map',
            view: new ol.View({
              center: [-11000000, 4600000],
              zoom: 4
            })
      });
    
      var zoomLevel = map.getView().getZoom();
    
      if (zoomLevel == 4) {
          panInteraction.setActive(false);
          //alert("deactivating");
      } 
    

    【讨论】:

    • 很好的答案。测试它,我注意到移动设备用户总是想平移地图。限制仅适用于桌面设备。如果地图视图与地图范围相同或相似,是否可以将平移控件限制为 bbox,并且没有移动地图的选项?类似于“MaxPanExtent”的东西?再次感谢
    • 虽然我不知道这个问题的确切答案,但我认为使用 ol.View 设置来处理这种行为会更容易。通过 map.getView().calculateExtent(map.getSize()); 获得范围后,像 ol.extent.containsExtent 这样的方法也可能很方便。 .但在尝试之前,请检查此链接是否可以收集一些有用的信息:gis.stackexchange.com/questions/118383/openlayers-3-max-extent
    猜你喜欢
    • 1970-01-01
    • 2016-07-16
    • 1970-01-01
    • 2012-08-27
    • 1970-01-01
    • 2023-04-08
    • 1970-01-01
    • 2021-06-10
    • 1970-01-01
    相关资源
    最近更新 更多