Mit Hilfe eines PNG oder JPEG für Karte mit Openlayers (Skala / Zoom Problem)
-
03-07-2019 - |
Frage
Ich bin mit einem Bild meiner Karte angezeigt werden mit Openlayers. Mein JS-Code sieht wie folgt aus:
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());
Meine CSS ist:
#map {
width: 640px;
height: 480px;
border: 1px solid black;
}
Aber ich kann nicht bekommen Openlayers um das große Bild zu verkleinern. Es wird immer mit voller Auflösung angezeigt und ich kann nicht Auszoomen den ganzen Globus angezeigt werden soll. Hilfe bitte.
Lösung
Sie müssen die Größe des Bildes setzen, wie es, wenn sie vollständig angezeigt werden soll gezoomt werden.
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);
änderte ich die Größe auf ein Viertel der Größe des Originals. Sie könnten diese kleiner machen, wenn Sie es noch vergrößert werden.
gesuchtLizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow