Je suis assez confus. J'ai un point:Comment convertir les coordonnées du calque vectoriel en Map Latitude et Longitude dans Openlayers
x= -12669114.702301
y= 5561132.6760608
Cela m'a permis de dessiner un carré sur un calque vectoriel avec le contrôleur DrawFeature. Les nombres semblent ... erm ... awfull large, mais ils semblent fonctionner, parce que si je dessine plus tard un carré avec tous les mêmes points, c'est dans la même position, donc je me dis qu'ils doivent avoir raison .
Le problème est lorsque j'essaie de convertir ce point en latitude et longitude.
J'utilise:
map.getLonLatFromPixel(pointToPixel(points[0]));
Lorsque les points [0] est un point de la géométrie et la fonction pointToPixel prend tout point et il se transforme en un pixel (depuis le getLonLatFromPixel a besoin d'un pixel). Il le fait en prenant simplement le point x, et en faisant les pixels x, et ainsi de suite.
La latitude et la longitude je reçois est de l'ordre de:
lat: -54402718463.864
lng: -18771380.353223
Ceci est très clairement erronée. Je suis vraiment confus. J'essaie de projeter cet objet, en utilisant:
.transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject());
Mais je ne suis pas vraiment et je suis assez sûr que je l'ai fait mal, de toute façon.
Mon code est ici: http://pastie.org/909644
Je suis un peu à perte. Les coordonnées semblent cohérentes, parce que je peux les réutiliser pour obtenir le même résultat ... mais elles semblent beaucoup plus grandes que tous les exemples que je vois sur le site web d'openLayers ...
Merci, j'avais vraiment du mal à envelopper ma tête autour des différentes projections ... – Jenny
En fait, j'ai une question ... Je vais demander à nouveau formellement, mais: Si je fais le contraire (point.transform (new OpenLayers.Projection ("EPSG: 4326"), new OpenLayers.Projection ("EPSG: 900913")); A un point de latitude/longitude normal, j'obtiens NaN (pas un nombre?) pour toutes les valeurs de lon négatif. – Jenny
http://stackoverflow.com/questions/2607734/openlayers-projections – Jenny