Hola,
yo guardo un array de features con los popus, me la he echo yo para
poder cambiar el texto del popup dinámicamente. Si no no podia saber si
una feature tenia o no el popup 'abierto' o 'cerrado'.
Salut,
Jaume.
xevi wrote:
> 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
>
_______________________________________________
Talk-es mailing list
[email protected]
http://lists.openstreetmap.org/listinfo/talk-es