Más

¿Es posible crear una ventana emergente en Openlayers2.12 sin establecer coordenadas en ella?

¿Es posible crear una ventana emergente en Openlayers2.12 sin establecer coordenadas en ella?


Utilizo Openlayers 2.12 y creo una ventana emergente como esta:

popup = new OpenLayers.Popup.FramedCloud ("pollo", nuevo OpenLayers.LonLat (latlotArr [0], latlotArr [1]). transform (fromProjection, toProjection), nuevo OpenLayers.Size (300, 300), htmlImg, null, cierto);

Obtengo las coordenadas de algunas imágenes. Pero algunas de las imágenes no tienen coordenadas. En este caso, solo quiero mostrar la ventana emergente sin una ubicación específica.

¿Cómo puedo hacer eso? Intenté esto:

popup = new OpenLayers.Popup.FramedCloud ("pollo", nuevo OpenLayers.LonLat (nulo, nulo), nuevo OpenLayers.Size (300, 300), htmlImg, nulo, verdadero);

Pero, por supuesto, no funcionó. Recibo un error: valor no válido para la variable lat.


No. Si observa el código fuente de OpenLayers.Popup, del cual se derivan todos los demás tipos de ventanas emergentes, verá en la línea 333 que la posición del div se determina convirtiendo el pasado en lat / lon a una ubicación de píxel. Si no tiene lat / lon para una imagen, siempre puede pasar en el punto central de su mapa, o arriba a la izquierda, lo que sea, en su lugar. La otra opción sería anular la función de dibujo, estableciendo el px en alguna ubicación de píxel que elija, en lugar de derivarlo de una posición geográfica.