[Talk-de] Vector layer mit strategie/protocol.HTTP Was: Eigener Overlay: FOSSGIS-Server oder toolserver.org?
Sarah Hoffmann
lonvia at denofr.de
Di Jun 1 14:37:25 UTC 2010
On Tue, Jun 01, 2010 at 04:09:37PM +0200, Florian Lohoff wrote:
> On Tue, Jun 01, 2010 at 03:36:24PM +0200, Sarah Hoffmann wrote:
> Jetzt muss ich das SRS900913 vs WGS84 nochmal klaeren - Die URL wirft bei
> strategie/protocol.http natuerlich die default projection des layers mit
> raus und keinen zoom level. D.h. anstatt
>
> /cgi-bin/getdata2?b=51.82844228767418&t=51.84265608515574&l=8.314342412719814&r=8.363180074460946&zoom=15&data=maxspeed
>
> kriege ich ein:
>
> /cgi-bin/getdata2?bbox=923809.42114287,6769035.8748913,929246.00477867,6771596.5153383
Die Projektion sollte eigentlich die des Layers sein. Sprich, einfach
noch die Option
projection : new OpenLayers.Projection("EPSG:4326")
beim erstellen des Vector-Layers hinzufügen. Dann sollte es gehen. Allerdings
ist es am klügsten, wenn du den Vektor-Layer in der gleichen Projektion hast,
wie die Daten im GeoJOSN, sonst wird beim Laden jedes Feature einzeln
umprojeziert.
'data=maxspeed' kannst du wohl einfach an die URL anhängen.
Für das Problem mit dem Zoom habe ich allerdings auch keine befriedigende
Lösung gefunden, sondern die moveEnd()-Funktion gehackt:
moveEnd: function(obj) {
if (this.curzoom < this.map.zoom) {
this.refresh({force : true});
}
this.curzoom = this.map.zoom;
}
Damit wird das Neuladen erzwungen, wenn hereingezoomt wird. (Welche Features
geladen werden, wird durch die Grösse des Gebiets bestimmt, i.e. bei der
Datenbankabfrage gibt es ein 'limit 200'. Daher brauche ich das nicht in
der URL.) Wenn du da eine bessere Lösung findest, bin ich ganz Ohr.
Gruss
Sarah
Mehr Informationen über die Mailingliste Talk-de