[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