2016-10-27 8 views

답변

1
You can restrict the dragging of the image by restricting its extent. 

다음은 인라인 링크 fiddle입니다.

map.on ('moveend', 기능 (EVT) {

 console.log(view.getZoom()); 
     if(view.getZoom()<=2){ 
     view.setZoom(3); 
     } 

     }); 
     var constrainPan = function() { 
     console.log("move"); 
     var extents=[0, 0, 1024, 968] 
    var visible = view.calculateExtent(map.getSize()); 
    var centre = view.getCenter(); 
    var delta; 
    var adjust = false; 
    if ((delta = extents[0] - visible[0]) > 0) { 
     adjust = true; 
     //console.log(delta); 
     centre[0] += delta; 
    } else if ((delta = extents[2] - visible[2]) < 0) { 
     adjust = true; 
     centre[0] += delta; 
    } 
    if ((delta = extents[1] - visible[1]) > 0) { 
     adjust = true; 
     centre[1] += delta; 
    } else if ((delta = extents[3] - visible[3]) < 0) { 
     adjust = true; 
     centre[1] += delta; 
    } 
    if (adjust) { 
     view.setCenter(centre); 

    } 
}; 


view.on('change:resolution', constrainPan); 
view.on('change:center', constrainPan); 
+0

덕분에, 그 마법처럼 일하고있어. – user2694752