x

OpenLayers - Hilfe beim einbinden der BBOX


Geschrieben von Lübeck (Gast) am 13. Februar 2013 22:33:58: [flux]

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 :-)

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


Antworten: