Estoy bastante confundido. Tengo un punto:Cómo convertir las coordenadas de la capa vectorial en latitud y longitud del mapa en Openlayers
x= -12669114.702301
y= 5561132.6760608
Que obtuve al dibujar un cuadrado en una capa vectorial con el controlador DrawFeature.
Los números parecen ... erm ... awfull large, pero parecen funcionar, porque si dibujo más adelante un cuadrado con los mismos puntos, está en la misma posición, así que creo que tienen que ser correctos .
El problema es cuando trato de convertir este punto en latitud y longitud.
que estoy usando:
map.getLonLatFromPixel(pointToPixel(points[0]));
Dónde puntos [0] es un punto de la geometría y la función pointToPixel lleva a cualquier punto y lo convierte en un píxel (ya que el getLonLatFromPixel necesita un píxel). Lo hace simplemente tomando la x del punto y convirtiéndola en los píxeles x, y así sucesivamente.
La latitud y longitud que consigo es del orden de:
lat: -54402718463.864
lng: -18771380.353223
Esto es muy claramente erróneo. Me siento realmente confundido. Trato de proyectar este objeto, usando:
.transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject());
Pero realmente no conseguirlo y estoy bastante seguro de que lo hice de forma incorrecta, de todos modos.
Mi código está aquí: http://pastie.org/909644
Soy una especie de pérdida. Las coordenadas parecen consistentes, porque puedo reutilizarlas para obtener el mismo resultado ... pero parecen mucho más grandes que cualquiera de los ejemplos que estoy viendo en el sitio web de openLayers ...
Gracias, realmente me estaba costando pasar las diferentes proyecciones ... – Jenny
En realidad tengo una pregunta ... Preguntaré de nuevo formalmente, pero: Si hago lo contrario (point.transform (nueva OpenLayers.Projection ("EPSG: 4326"), nueva OpenLayers.Projection ("EPSG: 900913")); A un punto lat/lon normal, obtengo NaN (¿no es un número?) para cualquier valor de lon negativo. .Esto es esperado? – Jenny
http://stackoverflow.com/questions/2607734/openlayers-projections – Jenny