Ya he consegido cerrar un popup , el problema que tengo es que he
probado de cerrarlo con el .hide() o con el .destroy() y a la que le
vuelvo a dar la POI no se abre.He buscado en la documentacion si hay
alguna forma de recargar los markers o saber a que marker esta asociado
el popup para ver si podia dejarlo listo para que volviera a mostrar el
popup , pero no he encontrado nada.Ahora mismo los elimino de la
siguiernte forma:

        map.popups[0].destroy();
        map.popups[0]=null;
Y el objeto map lo creo asi:
        map = new OpenLayers.Map ("map", {
                controls:[
                    new OpenLayers.Control.Navigation(),
                    new OpenLayers.Control.PanZoomBar(),
                    new OpenLayers.Control.LayerSwitcher(),
                    new OpenLayers.Control.Attribution(),],
                maxExtent: new  OpenLayers.Bounds
(-20037508.34,-20037508.34,20037508.34,20037508.34),
                maxResolution: 156543.0399,
                numZoomLevels: 19,
                units: 'm',
                projection: new OpenLayers.Projection("EPSG:900913"),
                displayProjection: new OpenLayers.
Projection("EPSG:4326")
            } );

Por cierto tienes razon, con un solo popup(almenos en mi caso no me ha
hecho falta ningun control)

Y muchas gracias por el codigo me ha aclarado un bastante las ideas
> Hola,
> 
> es que no te havia puesto el control :P zorry.
> 
> popupControl = new OpenLayers.Control.SelectFeature(trackingLayer, {
> onSelect: onFeatureSelect,
> onUnselect: onFeatureUnselect,
> multiple: true,
> clickout: false
> });
> map.addControl(popupControl);
> popupControl.activate();
> 
> Pero me parece que si solo permites tener un popup abierto no hace falta 
> el control.
> 
> Salut!
> 
> Jaume.
> 
> xevi wrote:
> > Muchas gracias por el codigo , pero sigue habiendo algo que no entiendo, 
> > como 
> > conecto los eventos de cuando se pulsa encima de los POIs con las funciones?
> > Salud
> >> Hola,
> >>
> >> jorrrr.... tienes tantos js, que francamente no se donde buscar. Pero 
> >> bueno, te paso un poco de mi código, yo utilizo un control por que 
> >> permito tener diferentes popups abiertos. Pero te puedes inspirar.
> >>
> >> Supongo que en tu caso lo más simple es guardar en una variable global 
> >> el popup y en close destruyes el popup (yo lo guardo en un feature).
> >>
> >> Salut!
> >>
> >> Jaume.
> >>
> >> function onFeatureSelect(feature) {
> >> var popup = new OpenLayers.Popup.FramedCloud(feature.attributes.did,
> >> new OpenLayers.LonLat(feature.geometry.x,feature.geometry.y),
> >> new OpenLayers.Size(200,200),
> >> feature.attributes.description,
> >> null,
> >> true,
> >> onPopupClose);
> >> feature.popup = popup;
> >> map.addPopup(popup);
> >> popup.updatePosition();
> >> }
> >>
> >> function onFeatureUnselect(feature) {
> >> map.removePopup(feature.popup);
> >> feature.popup.destroy();
> >> feature.popup = null;
> >> }
> >>
> >> function onPopupClose(evt) {
> >> iSize = rssDevices.length;
> >> for (var i = 0; i < iSize; i++) {
> >> if (rssDevicesFeatures[i].popup != null) {
> >> if (rssDevicesFeatures[i].popup == this) {
> >> popupControl.unselect(rssDevicesFeatures[i]);
> >> }
> >> }
> >> }
> >> }
> >>
> >> xevi wrote:
> >>> Hola lista, estoy intentando migrar unos mapad de Google Maps a Mapnik
> >>> +Google Maps con Openlayers, el problema que tengo es que para importar
> >>> los puntos de interes uso el OpenLayers.Layer.Tex(), el mapa muestra
> >>> bien los puntos, no hay ningun problema en este paso , el problema viene
> >>> de que me gustaria que apareciera un botoncito para cerrar los popups de
> >>> los POIs, he consegido hacer aparecer un cuadrito para cerrar i que al
> >>> pulsar encima se ejecute un script de javascript, pero no se como
> >>> hacerlo para hacer que se cierre.Por otro lado he estado mirando un
> >>> ejemplo de la web de OpenLayers donde si que aparecen los botoncitos
> >>> para cerrar los popups pero usan un archivo KML para generar los POIs.Mi
> >>> duda es si hay alguna forma de hacer algun botoncito para cerrar el
> >>> popup usando Text() o si para hacer esto debo usar el metodo del KML del
> >>> ejemplo?
> >>>
> >>> El mapa donde quiero hacer cerrar los popups:
> >>> http://test.agendadeconcerts.net/mapa.html
> >>>
> >>>
> >>> El ejemplo de KML:
> >>> http://openlayers.org/dev/examples/sundials-spherical-mercator.html
> >>>
> >>> El ejemplo de Text sobre el que me he basado:
> >>> http://wiki.openstreetmap.org/wiki/Openlayers_POI_layer_example
> >>>
> >>>
> >>> Saludos
> >>>
> >>>
> >>> _______________________________________________
> >>> Talk-es mailing list
> >>> [email protected]
> >>> http://lists.openstreetmap.org/listinfo/talk-es
> >>>
> >> _______________________________________________
> >> Talk-es mailing list
> >> [email protected]
> >> http://lists.openstreetmap.org/listinfo/talk-es
> > 
> > 
> > _______________________________________________
> > Talk-es mailing list
> > [email protected]
> > http://lists.openstreetmap.org/listinfo/talk-es
> > 
> 
> _______________________________________________
> Talk-es mailing list
> [email protected]
> http://lists.openstreetmap.org/listinfo/talk-es


_______________________________________________
Talk-es mailing list
[email protected]
http://lists.openstreetmap.org/listinfo/talk-es

Responder a