[Talk-de] Eigene OSM-Karte mit Overpass
rainerU
ray66 at sfr.fr
So Mai 10 06:28:09 UTC 2015
Hallo Markus,
Am 09.05.2015 um 20:38 schrieb Markus:
>
> Nun suche ich dort noch das Howto zum Ausführen einer Overpass-Abfrage
> und Einbinden der Ergebnisse in die Karte.
Ich habe auch nach so etwas gesucht, aber für OpenLayers kein HowTo
gefunden. Anhand diversen Einzelinformationen habe ich es dann doch
geschafft. Entscheidend war, dass die Daten nicht als JSON sondern im
OSM-XML-Format abgerufen werden. Den OL-Layer erzeuge ich so:
var layer = new OpenLayers.Layer.Vector(layername, {
protocol: new OpenLayers.Protocol.HTTP({
url:
'http://overpass-api.de/api/interpreter?data=[timeout:25];(node["amenity"="bicycle_parking](42.327,1.72,42.942,3.26););out
body;>;out skel qt;',
format: new OpenLayers.Format.OSM({ignoreExtraDims: true}),
projection: new OpenLayers.Projection("EPSG:4326")
}),
strategies: [new OpenLayers.Strategy.Fixed()],
projection: map.displayProjection,
extractAttributes: true,
styleMap: new OpenLayers.StyleMap({
"default": new OpenLayers.Style({
externalGraphic: icon,
graphicWidth:21,
graphicHeight:25,
graphicXOffset:-10,
graphicYOffset:-25 ,
graphicZIndex: 1
},
OpenLayers.Feature.Vector.style["default"])
}),
});
Ich halte allerdings auch die von Benjamin angesprochene Lösung mit Cron
für sinnvoll. In diesem Fall ersetzt man den Url der Overpass-Abfrage
mit dem Url der per Cron erzeugten Datei.
Grüße
Rainer
Mehr Informationen über die Mailingliste Talk-de