On Tue, Jun 01, 2010 at 04:37:25PM +0200, Sarah Hoffmann wrote: > 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.
Eben - d.h. entweder ich nutze die BBOX in 900913 und lasse PostGIS die bbox erst in EPSG:4326 umprojezieren und das ergebniss des statements wieder zu EPGS:900913. Oder ich mache den vector layer komplett in 4326 und lasse das Javascript umprojezieren -> Viel CPU auf dem Client. > 'data=maxspeed' kannst du wohl einfach an die URL anhängen. Okay - das geht halbwegs: protocol.options.params.data="maxspeed"; So kann ich da nachtraeglich das aendern. > 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 Ich habe ja nicht das problem das ich neu laden muss sondern das ich den zoom level an das cgi mitliefern will. Ich mache z.b. auch teilweise vom zoomlevel abhaengig was ich darstelle. In der maxspeed map sieht man ab zoom 16 oder 17 dann kleine Schilder auf den Straßen. > 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. Aeh - das finde ich doof - Weil dann wie bei keepright oder openstreetbugs einfach nur mal 200 elemente an einer random position im sichtbereich auftauchen. Koennte den betrachter dazu verleiten zu glauben das das alles ist. Deshalb werfe ich den zoom mit in das CGI script im Ajax request und im CGI script sage ich dann if ($zoom < 14) { return {} } Dann ist nichts sichtbar ... Schoen waere noch einen status mitzuliefern der dargestellt wird, nach dem motto "Please zoom to show elements" - Aber das ist wieder nicht so schoen mit GeoJSON zu machen ... Ich hatte mal ueberlegt eben den response string zu zerlegen. D.h. erste zeile ist status und dann folgt das GeoJSON so in der art. Flo -- Florian Lohoff f...@zz.de "Es ist ein grobes Missverständnis und eine Fehlwahrnehmung, dem Staat im Internet Zensur- und Überwachungsabsichten zu unterstellen." - - Bundesminister Dr. Wolfgang Schäuble -- 10. Juli in Berlin
signature.asc
Description: Digital signature
_______________________________________________ Talk-de mailing list Talk-de@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-de