Bewegung einer OSM-Karte eingrenzen

Hallo OSM-Gemeinde,

die Bewegung einer OSM-Karte möchte ich auf einen bestimmten Längen- und Breitengrad-Bereich begrenzen. Mein Problem: ich habe eine Offline-Anwendung und möchte nicht alle Tiles für alle Zoomstufe in meine Anwendung packen. Ansonsten benötige ich ein haufen Tiles. Ich habe es erst durch Pfeilbutton gelöst, jeweils einen Button für eine Richtung. Die Variante finde ich aber nicht besonders elegant. Wie könnte ich es besser realisieren? Habt Ihr eine Idee? Vielen Dank vorab!

Viele Grüße Löwenherz

Leider schreibst Du nicht, womit Du die Karte darstellst.

Falls es leaflet ist, geht das ganz einfach mit map.setMaxBounds()

bye, Nop

In einem Nachbarthread erkennt man, dass er mit OL schafft: http://forum.openstreetmap.org/viewtopic.php?id=26734

Es geht in OL ähnlich, nur hab ich das heute nicht parat.

Gruss
walter

Falls es OpenLayers ist… Such mal nach “restrictedExtent”.

Grüße, Max

Genau:


   var le=5.6; var ue=47.2; var re=15.3; var oe=55;    // brd
   var projfrom = new OpenLayers.Projection("EPSG:4326");
   var projto   = new OpenLayers.Projection("EPSG:3857");
   var extent = new OpenLayers.Bounds(le,ue,re,oe).transform(projfrom,projto);

...

map = new OpenLayers.Map("map_div" ,{
         restrictedExtent : extent,                           // <--------------------------
         zoomOffset: 10,
         fractionalZoom: false,
    	 controls: [
    	      new OpenLayers.Control.Navigation(),
    	      new OpenLayers.Control.LayerSwitcher({'ascending':true}),
    	      new OpenLayers.Control.PanZoomBar(),
    	      new OpenLayers.Control.MousePosition({
    	         "numDigits":		5,
    	         div:			document.getElementById('mouse_div'),
    	         displayProjection:	new OpenLayers.Projection(projfrom)
              }),
    	      new OpenLayers.Control.Permalink({
    	         div:                   document.getElementById('permalink_div'),
    	         displayProjection:     new OpenLayers.Projection(projfrom)
    	      })  
         ]} 
      );

Schnipsel aus der uralten HKTS-Karte, deren sichtbaren Bereich ich auf Deutschland beschränkt hatte.

Gruss
walter

ps: wenn ihr die wieder haben wollt, meldet euch.

Ich schaue es mir morgen an. Vielen Dank schon mal! :slight_smile:

Mit leaflet arbeite ich nicht, sondern mit openlayers.

Das Beispiel von wambacher funktioniert wunderbar! Vielen Dank! :slight_smile: