Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.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
Events Openlayers停止zoomstart事件_Events_Zooming_Openlayers_Gis - Fatal编程技术网

Events Openlayers停止zoomstart事件

Events Openlayers停止zoomstart事件,events,zooming,openlayers,gis,Events,Zooming,Openlayers,Gis,我使用的是Openlayers 2.x,我有zoomstart事件 map.events.register('zoomstart', map, function(e) { // 1. OpenLayers.Event.stop(event); // 2. return ; // 3. e.preventDefault(); } }); 我的方式(1,2,3)不起作用,事件不会停止并更改缩放级别

我使用的是
Openlayers 2.x
,我有
zoomstart
事件

  map.events.register('zoomstart', map, function(e) {

            // 1. OpenLayers.Event.stop(event);
            // 2. return ;
            // 3. e.preventDefault();
        }
    });

我的方式(1,2,3)不起作用,事件不会停止并更改缩放级别。有人能帮我吗?

缩放事件由PanZoomBar控件中的zoomBarUp函数触发,请参见:和行

this.map.zoomTo(zoomLevel);
防止缩放级别超过13的一种方法是覆盖此函数,您可以通过在独立js文件中添加自己的版本或在OpenLayers init函数中使用原型(即,在加载OpenLayers后)来实现

OpenLayers.Control.PanZoomBar.prototype.zoomBarUp = function(evt){

  //copy here the code from the actual function
  if (!OpenLayers.Event.isLeftClick(evt) && evt.type !== "touchend") {
        return;
  }
  //rest of code .....


 //put in your check for zoom level here before calling this.map.zoomTo(zoomLevel);
 if(this.map.zoom<13){
     this.map.zoomTo(zoomLevel);
        this.mouseDragStart = null;
        this.zoomStart = null;
        this.deltaY = 0;
        OpenLayers.Event.stop(evt);
  }};
OpenLayers.Control.PanZoomBar.prototype.zoomBarUp=function(evt){
//在这里复制实际函数中的代码
如果(!OpenLayers.Event.isleftick(evt)和&evt.type!=“touchend”){
回来
}
//代码的其余部分。。。。。
//在调用this.map.zoomTo(zoomLevel)之前,请在此处检查缩放级别;

如果(this.map.zoomI不清楚为什么要停止您明确添加的缩放开始事件。您能解释更多吗?谢谢您的回复。对我来说,编辑级别是13。您能想象这个过程吗,用户正在编辑几何体,他站在缩放级别13上,缩小,我想忽略缩小,因为它不是缩放级别。您的意思是缩放应该是o仅在缩放级别13中工作,而不在任何其他级别中工作?抱歉,我仍然不清楚。map类中没有zoomstart事件。您是说如果缩放级别为13或更高,您想在编辑时禁用意外单击zoomBar控件吗?我想在zoomstart事件中取消缩放事件我可以描述map min zoom level吗?什么意思?restrict到最小缩放级别?新的ol.视图({minZoom:9,maxZoom:13,…});