Bereich auswählen in Map (Boxing)

Hallo an alle,

bin ein neuer OSM-User und versuche derzeit meine Karte mal zu gestalten.
Nun habe ich ein Problem. Ich will an sich einfach nur durch ein Mouseclick und Move einen Bereich auf der Karte auswählen (Rechteck) und mir die Eckkoordinaten geben lassen. Wie bei openstreetmap.org unter dem Menureiter “Export”. Da kann man dann auch eine Box durch den Klick auf den Link “Einen anderen Bereich manuell auswählen” darstellen.

die drawmap funktion klappt auch wunderbar. (siehe code unten)
spezoom- Diesen Controll habe ich umgeschrieben und selbst benannt in der openlayers.js

aber muss ich nun noch die Handler mit einbinden, also handler.box?

und wie kann ich nun in meine Karte das Rechteck mittels der Maus zeichnen?

habe das Forum schon durchsucht, und kann mit dem Link (http://dev.openlayers.org/docs/files/OpenLayers/Handler/Box-js.html) auch nicht allzuviel anfangen :frowning:

vielen Dank im Voraus,
frotho :slight_smile:


            function drawmap(){
                
                OpenLayers.Lang.setCode('de');
                
                var lon = 56;
                var lat = 12;
                var zoom = 5;
                
                map = new OpenLayers.Map('map', {
                    projection: new OpenLayers.Projection("EPSG:900913"),
                    displayProjection: new OpenLayers.Projection("EPSG:4326"),
                    controls: [new OpenLayers.Control.MouseDefaults(), new OpenLayers.Control.LayerSwitcher(), new OpenLayers.Control.speZoom()],
                    maxExtent: new OpenLayers.Bounds(-20037508.34, -20037508.34, 20037508.34, 20037508.34),
                    numZoomLevels: 18,
                    maxResolution: 156543,
                    units: 'meters'
                });
            
                layerTilesAtHome = new OpenLayers.Layer.OSM.Osmarender("Osmarender");
                layerMapnik = new OpenLayers.Layer.OSM.Mapnik("Mapnik");
                layerCycleMap = new OpenLayers.Layer.OSM.CycleMap("CycleMap");
            
                map.addLayer(layerMapnik);
                map.addLayer(layerTilesAtHome);
                map.addLayer(layerCycleMap);
            
                layer_markers = new OpenLayers.Layer.Markers("Address", { projection: new OpenLayers.Projection("EPSG:4326"), visibility: true, displayInLayerSwitcher: false });
            
                map.addLayer(layer_markers);
                
                jumpTo(lon, lat, zoom);
            }