2009-05-01 3 views
7

OpenLayers로지도를 표시 할 때 이미지를 사용하고 있습니다. 내 JS 코드는 다음과 같습니다OpenLayers로지도에 PNG 또는 JPEG 사용 (배율/확대/축소 문제)

#map { 
    width: 640px; 
    height: 480px; 
    border: 1px solid black; 
} 

하지만 OpenLayers는 큰 이미지를 확장 할 수 없습니다

map = new OpenLayers.Map('map'); 

var options = {numZoomLevels: 7, 
       isBaseLayer: true, 
       }; 

var globe = new OpenLayers.Layer.Image(
    'Globe ESA', 
    'http://upload.wikimedia.org/wikipedia/commons/0/07/World_map_blank_black_lines_4500px.gif', 
    new OpenLayers.Bounds(-180, -90, 180, 90), 
    new OpenLayers.Size(4500, 2234), 
    options); 

map.addLayers(globe); 

markers = new OpenLayers.Layer.Markers("markers"); 
map.addLayer(markers); 

map.addControl(new OpenLayers.Control.LayerSwitcher()); 
map.zoomToMaxExtent(); 
map.addControl(new OpenLayers.Control.MousePosition()); 

내 CSS입니다. 항상 최대 해상도로 표시되며 전체 지구를 표시하기 위해 축소 할 수 없습니다. 도와주세요.

답변

11

완전히 축소했을 때 표시해야하는 이미지의 크기를 설정해야합니다.

var globe = new OpenLayers.Layer.Image(
    'Globe ESA', 
    'http://upload.wikimedia.org/wikipedia/commonS/0/07/World_map_blank_black_lines_4500px.gif', 
    new OpenLayers.Bounds(-180, -90, 180, 90), 
    new OpenLayers.Size(1125,558), 
    options); 

크기를 원본 크기의 4 분의 1로 변경했습니다. 더 크게 축소 시키려면이 값을 작게 만들 수 있습니다.

+0

Jon에게 감사드립니다. 크기를 더 작은 값으로 설정하지 않은 것을 믿을 수는 없습니다. =) 잘 했어! –

관련 문제