banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

GEODATA DAYS 2024

#1 Sat 06 December 2008 01:26

Jean marie
Participant assidu
Lieu: Moissy Cramayel
Date d'inscription: 15 Feb 2007
Messages: 309
Site web

[MapGuide ] Patch dans la légende pour la sélection des calques

objet : [MapGuide ] Patch dans la légende pour savoir si un calque est actif à la sélection de Bruno Scott (www.geomapgis.com)

hé oui encore un petit cadeau de Bruno... un petit Patch pour MGOS 2.02 et MapGuide Enterprise 2009 pour savoir si un calque dans la légende est sélectionnable ...

voir sa capture ou le message sous le lien suivant
http://www.nabble.com/Request-for-chang … 37203.html

[img]http://www.nabble.com/file/p20837203/legend.gif[/img]

qui est bien pratique

le patch est téléchargeable ici  http://www.nabble.com/file/p20855606/Pa … 009sp1.zip
avec la fonction pour changer le curseur de la souris

J'en parle ici sur le forum http://georezo.net/forum/viewtopic.php?id=58158

Merci à Bruno et bonne journée
Cordialement

Dernière modification par Jean marie (Sat 06 December 2008 12:16)

Hors ligne

 

#2 Sun 07 December 2008 11:31

Jean marie
Participant assidu
Lieu: Moissy Cramayel
Date d'inscription: 15 Feb 2007
Messages: 309
Site web

Re: [MapGuide ] Patch dans la légende pour la sélection des calques

Bonjour à vous,

j'ai testé le patch sur un MGOS 2.02 et j'ai rencontré un petit problème en AJAX.

la légende me donne bien la fonction de sélection ou pas mais MapGuide reverse une carto en PNG8 qui ne gère pas la transparence des calques et des objets ...  ce qui est bien dommage
j'ai édité le fichier ajaxmappane.templ  du patch à la ligne suivante

Code:

function RequestSelectionImage(reqId)
{
    url = webAgent + "?OPERATION=GETDYNAMICMAPOVERLAYIMAGE&FORMAT=PNG&VERSION=2.0.0&SESSION=" + sessionId + "&MAPNAME=" + encodeComponent(mapName) + "&SEQ=" + Math.random() + "&CLIENTAGENT=" + encodeComponent(clientAgent) + "&BEHAVIOR=5&SELECTIONCOLOR=" + selectionColor;
    document.getElementById('selOverlay').innerHTML =
        '<img class="mapImage" name="' + reqId + '" id="selectionImage" src="' + url + '" width=' + mapDevW + ' height=' + mapDevH + ' border=0 vspace=0 hspace=0 style="visibility: hidden; width: ' + mapDevW + 'px; height: ' + mapDevH + 'px;" onload="return OnSelectionOverlayImageLoaded(event)">';
    if (opera) 
        document.getElementById("selectionImage").src = document.getElementById("selectionImage").src;

le code est bien en PNG et non PNG 8 ... je m'interroge  ....
si vous avez une idée ou un retour, je suis preneur

cordialement

Hors ligne

 

#3 Sun 07 December 2008 11:42

Jean marie
Participant assidu
Lieu: Moissy Cramayel
Date d'inscription: 15 Feb 2007
Messages: 309
Site web

Re: [MapGuide ] Patch dans la légende pour la sélection des calques

oups j'ai la solution ;-)

j'ai pas édité la bonne ligne ..... désolé 
la ligne précédente est sur sur la fonction  RequestSelectionImage(reqId) et non function RequestMapImage(reqId) du fichier ajaxmappane.templ et ce n'est pas du PNG 8 mais du JPG . La transparence des calques n'est pas géré en JPG dans MGOS  donc dans le patch, il est nécessaire de modifier la ligne suivante :

Code:

function RequestMapImage(reqId)
{
    url = webAgent + "?OPERATION=GETDYNAMICMAPOVERLAYIMAGE&FORMAT=JPG&VERSION=2.0.0&SESSION=" + sessionId + "&MAPNAME=" + encodeComponent(mapName) + "&SEQ=" + Math.random() + "&CLIENTAGENT=" + encodeComponent(clientAgent) + "&BEHAVIOR=2";
    document.getElementById("overlay").innerHTML =
            '<img class="mapImage" name="' + reqId + '" id="mapImage" src="' + url + '" width=' + mapDevW + ' height=' + mapDevH + ' border=0 vspace=0 hspace=0 style="visibility: hidden; width: ' + mapDevW + 'px; height: ' + mapDevH + 'px;" onload="return OnMapOverlayImageLoaded(event)">';
    if (opera) 
        document.getElementById("mapImage").src = document.getElementById("mapImage").src;
}

par

Code:

function RequestMapImage(reqId)
{
    url = webAgent + "?OPERATION=GETDYNAMICMAPOVERLAYIMAGE&FORMAT=PNG&VERSION=2.0.0&SESSION=" + sessionId + "&MAPNAME=" + encodeComponent(mapName) + "&SEQ=" + Math.random() + "&CLIENTAGENT=" + encodeComponent(clientAgent) + "&BEHAVIOR=2";
    document.getElementById("overlay").innerHTML =
            '<img class="mapImage" name="' + reqId + '" id="mapImage" src="' + url + '" width=' + mapDevW + ' height=' + mapDevH + ' border=0 vspace=0 hspace=0 style="visibility: hidden; width: ' + mapDevW + 'px; height: ' + mapDevH + 'px;" onload="return OnMapOverlayImageLoaded(event)">';
    if (opera) 
        document.getElementById("mapImage").src = document.getElementById("mapImage").src;
}

voila voila .... et bonne journée
cordialement

Dernière modification par Jean marie (Sun 07 December 2008 11:53)

Hors ligne

 

Pied de page des forums

Powered by FluxBB