Uso de PNG o JPEG para el mapa con OpenLayers (problema de escala / zoom)
-
03-07-2019 - |
Pregunta
Estoy usando una imagen para mostrar mi mapa con OpenLayers. Mi código JS tiene este aspecto:
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());
Mi CSS es:
#map {
width: 640px;
height: 480px;
border: 1px solid black;
}
Pero no puedo hacer que OpenLayers reduzca la imagen grande. Siempre se muestra a resolución completa y no puedo hacer zoom para mostrar todo el globo. Ayuda por favor.
Solución
Necesitas establecer el tamaño de la imagen como se debería mostrar cuando está completamente alejada.
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);
Cambié el tamaño a un cuarto del tamaño del original. Puede hacer esto más pequeño si lo desea aún más alejado.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow