[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