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 _______________________________________________ Talk-de mailing list Talk-de@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-de