[Talk-de] Eigener Overlay: FOSSGIS-Server oder toolserver.org?
Sarah Hoffmann
lonvia at denofr.de
Di Jun 1 12:15:20 UTC 2010
Hoi,
On Tue, Jun 01, 2010 at 08:52:32AM +0200, Florian Lohoff wrote:
> Ich benutze einen OpenLayers Vector Layer:
>
> http://dev.openlayers.org/releases/OpenLayers-2.9.1/doc/apidocs/files/OpenLayers/Layer/Vector-js.html
>
> und lade die Daten via GeoJSON nach:
>
> http://dev.openlayers.org/releases/OpenLayers-2.9.1/doc/apidocs/files/OpenLayers/Format/GeoJSON-js.html
>
> Der code sieht dann vereinfacht so aus:
>
> geojsonparser = new OpenLayers.Format.GeoJSON();
> vector = new OpenLayers.Layer.Vector("data");
> map.addLayer(this.vector);
>
> Beim pan'nen oder zoomen gibts dann nen callback in dem ich via ajax daten nachlade die
> das CGI Script (perl) mit JSON.pm rausnudelt. Die parse ich dann mit dem parser uns schiebe
> die in den vector layer:
>
> var features = geojsonparser.read(result.responseText);
> vector.destroyFeatures();
> vector.addFeatures(features);
Das geht noch einfacher mit den Strategies die OpenLayers mitliefert.
Etwa so:
vector = new OpenLayers.Layer.Vector("data", {
strategies: [new OpenLayers.Strategy.BBOX({ratio : 1})],
protocol: new OpenLayers.Protocol.HTTP({
url: "http://www.foo.com/bar",
format: new OpenLayers.Format.GeoJSON()
})
});
Das macht dann das Nachladen automatisch, wenn die Karte bewegt oder
gezoomt wird.
Gruss
Sarah
Mehr Informationen über die Mailingliste Talk-de