Sono abbastanza confuso. Ho un punto:Come convertire le coordinate del livello vettoriale in Mappa Latitudine e Longitudine in Openlayers
x= -12669114.702301
y= 5561132.6760608
Che ho ottenuto dal disegno di un quadrato su un livello vettoriale con il controller DrawFeature.
I numeri sembrano ... erm ... terribilmente grandi, ma sembrano funzionare, perché se in seguito disegno un quadrato con tutti gli stessi punti, è nella stessa posizione, quindi immagino che debbano avere ragione .
Il problema si verifica quando provo a convertire questo punto in latitudine e longitudine.
sto usando:
map.getLonLatFromPixel(pointToPixel(points[0]));
Dove punti [0] è un punto di geometria, e la funzione pointToPixel prende qualsiasi punto e lo trasforma in un pixel (dal momento che il getLonLatFromPixel ha bisogno di un pixel). Lo fa semplicemente prendendo la x del punto e rendendola pixel x, e così via.
La latitudine e la longitudine che ottenga è dell'ordine di:
lat: -54402718463.864
lng: -18771380.353223
Questo è molto chiaramente sbagliato. Sono rimasto davvero confuso. Cerco di proiettare questo oggetto, utilizzando:
.transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject());
Ma io in realtà non farlo e sono abbastanza sicuro che ho fatto in modo non corretto, in ogni modo.
Il mio codice è qui: http://pastie.org/909644
Sono una specie di in perdita. Le coordinate sembrano coerenti, perché posso riutilizzarle per ottenere lo stesso risultato ... ma sembrano molto più grandi di qualsiasi degli esempi che vedo sul sito web di OpenLayers ...
Grazie, stavo davvero avendo difficoltà a girare le mie teste intorno alle varie proiezioni ... – Jenny
In realtà ho una domanda ... Chiederò di nuovo formalmente, ma: Se faccio il contrario (point.transform (nuovo OpenLayers.Projection ("EPSG: 4326"), nuovo OpenLayers.Projection ("EPSG: 900913")); A un normale punto lat/lon, ottengo NaN (non un numero?) per eventuali valori lon negativi. È previsto? – Jenny
http://stackoverflow.com/questions/2607734/openlayers-projections – Jenny