2011-08-03 4 views
0

osm 및 openlayers에 문제가 있습니다. 당신이 볼 수있는 우선 , 내지도 객체OpenLayers 경계 상자보다 작은 최소 줌

var wgs84 = new OpenLayers.Projection("EPSG:4326"); 
var map = new OpenLayers.Map ('map', 
    { 
    projection: new OpenLayers.Projection("EPSG:900913"), 
    displayProjection: wgs84, 
    maxExtent: new OpenLayers.Bounds(-180,-20, 180, 90), 
    controls: [ 
    new OpenLayers.Control.MousePosition(), 
    new OpenLayers.Control.PanZoomBar(), 
    ] 
    }); 

, 내 경계 상자는 -20에서 끝, 그래서 antarctis가 표시되어야합니다.

하지만 전 세계를 볼 수 있도록 축소 할 수 있으며지도는 map-div (900 * 500)보다 작습니다.

해결 방법이 있습니까? 경계 상자가 허용하는 것보다 작은지도를 얻을 수 없어야합니다.

답변

0

restrictedExtent 매개 변수를 구현 했습니까? restrictedExtent

{} OpenLayers.Bounds 제한지도 곳 정도 내비게이션 가능 (문서)에서

. null 이외의 restrictedExtent가 설정되어있는 경우, 패닝은 지정된 경계로 제한됩니다. 또한 제한된 범위를 초과하여 표시되는 해상도로 확대하면 제한된 범위로지도가 중앙에 배치됩니다.

See an example here - 범위를 벗어난 패닝을 중지하지만 확대/축소 수준을 유지하지는 않습니다. 이것은 많은 결의안이없는 많은 누락 된 기능인 것으로 보입니다.

는 내가 도움이되었습니다 희망 Min Max Zoom level in OpenLayers

하지만이 SO 포스트가 몇 가지 해결 방법을 가지고 있다고 생각합니다.