OpenLayers - Hilfe beim einbinden der BBOX

hi !

zum Schluss des Tages brauche ich nochmal Hilfe nachdem ich heute schon immer mal in Sachen OverpasAPI etwas geschrieben habe.

In meiner Bastelumgebung bin ich jetzt soweit - nur ist jetzt noch das Problem das mir mit einem JS-Kenntnissen irgendwie es nicht gelingt die Daten des aktuellen Fensters in eine Abfrage einzubauen.

Es geht um folgenden Ausgangscode der funktioniert wobei der erste Teil derzeit noch ungenutzt ist (Funktion make_hiking_layer in der hiking_overpass.js :

			var bbox = this.map.getExtent().
				transform(this.map.getProjectionObject(),this.map.displayProjection);

			var bboxQuery = OpenLayers.String.format (
				'<bbox-query s="${bottom}" n="${top}" w="${left}" e="${right}"/>',
				bbox);

			data_url = 'http://overpass-api.de/api/interpreter?data=relation["route"="hiking"]["ref"="Hanse"](51,10,56,14)->.hr;way(r.hr)(51,10,56,14)->.hrp;(.hr;.hrp;);out body qt;node(w.hrp);out+skel;';	

Nun möchte ich in data_url die box-Grenzen einbauen. Dabei hatte ich an folgendes gedacht:

			var bbox = this.map.getExtent().
				transform(this.map.getProjectionObject(),this.map.displayProjection);

			var bboxQuery = OpenLayers.String.format (
				'(${bottom}, ${top}, ${left}, ${right})',
				bbox);

			data_url = 'http://overpass-api.de/api/interpreter?data=relation["route"="hiking"] ' +
                                         '["ref"="Hanse"]' +
                                         bboxQuery + 
                                          '->.hr;way(r.hr)' +
                                          bboxQuery+  
                                           '->.hrp;(.hr;.hrp;);out body qt;node(w.hrp);out+skel;';	

Doch wenn ich das mache, dann bekomme ich eine Meldung, das eine Sicherheitsverletzung vorliegt. Das ist aber die einzige stelle.

Kann mir einer sagen wo bei mir der Fehler sein könnte.

Derzeit ist das “funktionierende” Beispiel [1] wobei noch eine Menge überflüssger Code da in der exteren js. Derziet will ich ja nur mal sehen ob es funktionert. Und das tut es ja - bis auf die Box-Auswertung.

Gute Nacht.
Jan :slight_smile:

[1] http://www.tappenbeck.net/osm/sandbox/vector_overpass/hiking_hanse.html
PS der Layer Hanseatenweg muss noch eingeschaltet werden !!!

Hallo,

bbox und bboxQuery selbst ermitteln kann man sich eigentlich sparen, das passiert automatisch über die Strategy im Layer => den Teil also erstmal ersatzlos streichen.

Damit das funktioniert muss in

data_url = ‘http://overpass-api.de/api/interpreter?data=relation[“route”=“hiking”][“ref”=“Hanse”](51,10,56,14)->.hr;way(r.hr)(51,10,56,14)->.hrp;(.hr;.hrp;);out body qt;node(w.hrp);out+skel;’;

das (51,10,56,14) jeweils durch (bbox) ersetzt werden, also:

data_url = ‘http://overpass-api.de/api/interpreter?data=relation[“route”=“hiking”][“ref”=“Hanse”](bbox)->.hr;way(r.hr)(bbox)->.hrp;(.hr;.hrp;);out body qt;node(w.hrp);out+skel;’;