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é ?

#1 Mon 29 June 2009 19:04

Thierry21
Participant occasionnel
Date d'inscription: 10 Aug 2006
Messages: 45

Mapguide et rafraichissement automatique de calques.

Bonjour,
J'ai construit une carte via studio. Dans celle-ci j'ai un calque, bâti à partir d'une requête sur une base spatiale.
Je voudrais rafraichir le contenu du calque à intervalle régulier, j'ai donc positionné un timer en javascript qui me fait un mapframe.refresh() à intervalle régulier.
Cela fonctionne à peu près à un bémol près : quand le rafraichissement via le javascript se télescope avec un rafraichissement lié à une commande utilisateur (zoom out/pan ...) le serveur part en vrille (mémoire utilisée monte en flêche).
Je voudrais donc vérifier si la carte n'est pas occupée avant de rafraichir automatiquement mais je n'arrive pas à accéder au modèle objet de mapguide en javascript (accès à l'objet MGMAP) tout ce que j'ai trouvé est basé sur des fichiers .MWF avec des balises <OBJECT ID="map".
Comment fait on à partir d'une syntaxe du type
<frame src="../mapviewerphp/ajaxviewer.php?SESSION=<?php echo $sessionId; ?>&WEBLAYOUT=<?php echo $webLayout; ?>" name="ViewerFrame">  ??

merci de votre aide.

Hors ligne

 

#2 Tue 06 October 2009 19:30

didier37
Juste Inscrit !
Date d'inscription: 7 Sep 2009
Messages: 7

Re: Mapguide et rafraichissement automatique de calques.

bonjour,

Je serais intéressé par votre solution. Dans quel fichier insérer le refresh, quelle commande et où. Votre première solution m'intéresse, même si vous n'avez pas progressé.

Merci de votre réponse.

Cordialement.

Hors ligne

 

#3 Wed 07 October 2009 08:49

Gwenael Bachelot
Participant assidu
Lieu: Bureau Autodesk : Paris 12ème
Date d'inscription: 5 Sep 2005
Messages: 608
Site web

Re: Mapguide et rafraichissement automatique de calques.

Bonjour,

Mon petit doigt m'a dit que ce type de rafraichissement (mapframe.refresh) fonctionne toutes les secondes, avec un fond tuilé, sous AMGE 2010.

Gwenael
PS : merci à mon petit doigt :-)

Hors ligne

 

#4 Wed 07 October 2009 17:25

Thierry21
Participant occasionnel
Date d'inscription: 10 Aug 2006
Messages: 45

Re: Mapguide et rafraichissement automatique de calques.

smile
raté ...
j'ai modifié les templates pour faire un refresh "simple" qui ne va pas rafraichir les tuiles mais seulement les calques qui portent les données dynamiques. J'en ai profité pour gérer la collision avec les refresh initiés par l'utilisateur en testant "maploading".

Pour Didier37 :

Dans la fenêtre principale, j'ai un frameset
3 frames : un bandeau de titre/la carte/une frame invisible avec des scripts

dans la fenêtre de bandeau j'ai :

Code:

<script language="javascript">

var MapTimer;
var viewer;
var RefTimer;

function refresh_conditionnel()
{

    parent.ViewerFrame.GetMapFrame().Refresh_Simple();
 
}
function init_timer()
{
MapTimer = window.setInterval('AttendCarte()',200);
RefTimer = window.setInterval('refresh_conditionnel()',30000);

}
function AttendCarte()
{
    try 
    {
    viewer = parent.ViewerFrame.GetMapFrame();
    
    if (viewer.mapInit) 
        {  //Ok tout est initialisé
        clearInterval(MapTimer);
        //alert(viewer.GetMapName());
        }

    }
    catch(e) {}
}

</script>

et OnLoad="init_timer()" dans la balise <body>


dans le fichier ajaxmappane.templ, ajout d'une fonction :

Code:

function Refresh_Simple()
{
    if (!mapLoading)
    {
            GotoView(extX1 + (extX2 - extX1) / 2, extY2 + (extY1 - extY2) / 2, curScale, false, false);
    }
}

Dernière modification par Thierry21 (Wed 07 October 2009 17:28)

Hors ligne

 

#5 Wed 07 October 2009 19:52

didier37
Juste Inscrit !
Date d'inscription: 7 Sep 2009
Messages: 7

Re: Mapguide et rafraichissement automatique de calques.

Bonjour,

Merci Thierry pour toute ces infos détaillées. Je vais tester puis j'essaierai dès que j'arriverai à afficher mes données par dessus ma couche tuilée.

Merci aussi pour votre réponse à ce sujet. J'attends avec impatience le lien.

Cordialement

Didier

Hors ligne

 

Pied de page des forums

Powered by FluxBB