7 votos

Personalización de ventanas emergentes en Openlayers

¿Es posible personalizar la forma de pop-ups en OpenLayers? Por ejemplo, estoy creando una ventana emergente con el siguiente enfoque:

var popup = new OpenLayers.Popup.FramedCloud(
                "popup",
                OpenLayers.LonLat.fromString(feature.geometry.toShortString()),
                null,
                '<div style="color:#FF0000">'+feature.data.Name + '</br><a href="http://test.url">test.url</a>' + '</div>',
                null,
                true
            );

Esto crea una ventana emergente con el siguiente aspecto:

enter image description here

¿Es posible cambiar desde las esquinas redondeadas y una conexión de curva a un pop-up más cuadrado?

9voto

texai Puntos 178

al lado de una respuesta a todo, usted puede hacer su emergente como google mapa emergente estilo. echa un vistazo a este enlace que te ayudará a hacer g-estilo emergente...

emergente de secuencia de comandos de códigos,

emergente de imágenes,

y así css...

googlestyle

espero te sirva de ayuda..

5voto

zov Puntos 111

En los archivos de la biblioteca, hay img/cloud-popup-relative.png archivo. Tienes que personalizar para conseguir el infowindow que te gusta

5voto

Ben Puntos 1

Sólo una nota, de mi trabajo reciente - crear popup personalizado en OpenLayers para WMSGetFeatureInfo.

Qué hacer:

var highlightControl = new OpenLayers.Control.WMSGetFeatureInfo({
    url: 'url to wms', 
    infoFormat: 'text/html',
    queryVisible: true,
    eventListeners: {
        getfeatureinfo: function(event) { 
            this_is_popup_handler_function(event);
        }
    }
}); 

this_is_popup_handler_function(event) {
  alert(event.text);
}

Espero que esto te ayudará. :)

0voto

Aaron McIver Puntos 135

Para obtener prueba de xy event.xy .

Por ejemplo:

...
new OpenLayers.Popup.FramedCloud(
             'chicken',
             map.getLonLatFromPixel(event.xy),
             ...
);
...

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X