[Gfoss] visualizzare mappa in jquery modal form

beppe beppenapo a gmail.com
Ven 26 Nov 2010 17:02:13 CET


Allora, ho fatto un po' di prove e sembra gli dia noia un parametro del
modulo "dialog" di jquery.
Se, infatti, utilizzo questi parametri tutto funziona alla perfezione:
$( "#map" ).dialog({
title: 'Map preview',
width: 600,
height: 500,
position: [50,50],
resizable: false
});

Ma se lo modifico in questo modo non funziona più:
$( "#map" ).dialog({
autoOpen: false,
title: 'Map preview',
width: 600,
height: 500,
position: [50,50],
resizable: false
});
                                
$('#mapPreview').click(function() {
$('#map').dialog('open');
return false;
});

Il problema, immagino, sia il parametro "autoOpen" che, se ho capito
bene, fa casino con l'inizializzazione della mappa. Peccato sia proprio
il parametro che mi serve per ottenere l'effetto pop-up!
Conoscete un modo per ovviare al problema?

Per completezza di informazione vi scrivo la funzione che uso per lo
zoom:
function ZoomSite(xmin,xmax,ymin,ymax){
        var bbox = new OpenLayers.Bounds(xmin,xmax,ymin,ymax);
        console.log(bbox);
        return map.zoomToExtent(bbox);
}

... e come viene richiamata all'interno di un ciclo for:
echo "<li><a href=\"javascript:ZoomSite($bound)\" id=\"mapPreview\" >" .
$site . "</a> : " . $bound . "</li>";

Confido in voi

Grazie

-beppe-

Il giorno gio, 25/11/2010 alle 21.15 +0100, beppe ha scritto:
> Salve a tutti,
> sto lavorando ad un'applicazione per la gestione dei dati geografici
> (che novità!), come nella migliore delle tradizioni utilizzo postgres +
> postgis + openlayers + geoserver + jquery (per gli effetti speciali) +
> jquery layout (per impacchettare il tutto).
> 
> L'utente ha una lista di siti generata da una query, grazie alla quale
> mi tiro fuori un po' di attributi alfanumerici e il bbox; una semplice
> funzione mi permette di gestire dinamicamente l'extent della mappa
> cliccando sul nome di un sito.
> 
> Fin qui tutto bene, la funzione funziona.
> 
> A questo punto volevo che la mappa venisse visualizzata in una pop-up di
> jquery (modal dialog), e qui vengono i problemi: cliccando su un sito la
> pop-up parte ma la mappa non viene visualizzata. Per essere più precisi:
> i controlli sono visibili ma, ad esempio, invece delle coordinate mi
> compare quella fastidiosissima scritta "NaN, NaN".
> 
> Per la cronaca, firebug non riporta errori anche se nella chiamata al
> server la risposta mi da: 
> <ServiceException>
>       java.lang.RuntimeException: Parsing failed for BBOX: java.lang.IllegalArgumentException: Points of LinearRing do not form a closed linestring
> Parsing failed for BBOX: java.lang.IllegalArgumentException: Points of LinearRing do not form a closed linestring
> Points of LinearRing do not form a closed linestring
> </ServiceException>
> 
> Se elimino la funzione di jquery l'errore sparisce e la mappa viene visualizzata.
> 
> Mi sfugge qualcosa o le librerie (jquery e openlayers) vanno in conflitto?
> 
> Ho girato la stessa domanda alla mailing list di openlayers ma volevo anche la vostra opinione.
> 
> Grazie mille 
> 
> -beppe-




Maggiori informazioni sulla lista Gfoss