[Talk-es] Migracion de Google Maps a OpenLayers
Jaume Figueras
jaume.figueras en masafi.cat
Dom Jul 19 16:37:58 BST 2009
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
>>>>> Talk-es en openstreetmap.org
>>>>> http://lists.openstreetmap.org/listinfo/talk-es
>>>>>
>>>> _______________________________________________
>>>> Talk-es mailing list
>>>> Talk-es en openstreetmap.org
>>>> http://lists.openstreetmap.org/listinfo/talk-es
>>>
>>> _______________________________________________
>>> Talk-es mailing list
>>> Talk-es en openstreetmap.org
>>> http://lists.openstreetmap.org/listinfo/talk-es
>>>
>> _______________________________________________
>> Talk-es mailing list
>> Talk-es en openstreetmap.org
>> http://lists.openstreetmap.org/listinfo/talk-es
>
>
> _______________________________________________
> Talk-es mailing list
> Talk-es en openstreetmap.org
> http://lists.openstreetmap.org/listinfo/talk-es
>
More information about the Talk-es
mailing list