Estoy atascado agregando un punto vectorial en lat / lon encima de una capa de Google en OpenLayers. El punto se mueve cuando saco el mapa. Esto no sucede si reemplazo la capa de Google con una capa en WGS84. ¿Cómo puedo arreglar esto?
map = new OpenLayers.Map('map');
map.addControl(new OpenLayers.Control.LayerSwitcher());
var gmap = new OpenLayers.Layer.Google(
"Google Streets",
{numZoomLevels: 20}
);
var pointLayer = new OpenLayers.Layer.Vector("Point Layer");
map.addLayers([gmap,pointLayer]);
map.setCenter(new OpenLayers.LonLat(16.373056, 48.208333), 5);
var point = new OpenLayers.Geometry.Point(16.373056, 48.208333);
var pointFeature = new OpenLayers.Feature.Vector(point,null,null);
pointLayer.addFeatures([pointFeature]);
Intenté seguir http://docs.openlayers.org/library/spherical_mercator.html pero sin éxito.
openlayers-2
javascript
bajo oscuro
fuente
fuente
Respuestas:
Debe agregar algunos cambios para obtener los resultados requeridos:
Código de trabajo a continuación:
fuente
Este es un problema de proyección, debe transformar la proyección del punto en la capa base (mapa de Google aquí). El siguiente código debería funcionar
Esto se debe a que la proyección predeterminada del mapa de Google (mercator esférico) es 900913 y la de un punto simple en lonlat en 4326.
Asegúrese de que el punto esté configurado como (longitud, latitud) y no como (latitud, longitud).
fuente
Cuando trabaje con la API JS de Google Maps, debe tener cuidado con la versión. Hay una opción predeterminada para ir con la versión de desarrollo Google JS Maps API. Consulte la página: http://code.google.com/apis/maps/documentation/javascript/basics.html#Versioning
Y el equipo de Google Maps JS también corrige errores. Consulta http://code.google.com/p/gmaps-api-issues/wiki/JavascriptMapsAPIv3Changelog
En el futuro, mencione la versión de API de Google Maps en la pregunta. v3.3 no tuvo ningún problema con Openlayers, ya que los desarrolladores lo utilizan principalmente.
fuente
Creo que es un problema de proyección.
¿Has intentado informar el centroide del punto cuando el mapa se desplaza? Es posible que pueda ver si algo está cambiando.
Pero por lo que puedo ver de su código, agregaría el punto WGS84 a un corordsys diferente
fuente