IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

IGN API Géoportail Discussion :

Récupérer une partie d'une chaine de caractères dans une variable


Sujet :

IGN API Géoportail

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 11
    Points : 3
    Points
    3
    Par défaut Récupérer une partie d'une chaine de caractères dans une variable
    Bonjour et désolé pour cette question récurrente. Si une âme charitable veut bien m'aider, j'expose le problème. Je souhaite utiliser un plugin joomla geoportalapi dont voici une partie du code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    function geoportalapi (&$matches)
        {
    
            $this->nb_map ++;
    
            $params = $matches[1]; // paramettres
            $overlays = $matches[2]; // overlays
            
            $param_default['width'] = $this->params->get('width');
            $param_default['height'] = $this->params->get('height');
            $param_default['lon'] = $this->params->get('longitude');
            $param_default['lat'] = $this->params->get('latitude');
    	$param_default['zoom'] = $this->params->get('zoom');
    
    
            $overlayshtml= $this->createHTMLoverlays($overlays);
    
    
    
            $regex_width = "#.*width=\'(.*)\'.*#s";
            $regex_height = "#.*height=\'(.*)\'.*#s"; 
            $regex_lon = "#.*lon=\'(.*)\'.*#s";
            $regex_lat = "#.*lat=\'(.*)\'.*#s";
    	$regex_zoom = "#.*zoom=\'(.*)\'.*#s";
              
            $param['width'] = preg_replace($regex_width, "$1", $params);
            $param['height'] = preg_replace($regex_height, "$1", $params);
            $param['lon'] = preg_replace($regex_lon, "$1", $params);
            $param['lat'] = preg_replace($regex_lat, "$1", $params);
    	$param['zoom'] = preg_replace($regex_zoom, "$1", $params);
    		
            
     
            if($param['lat'] == $params) // si le paramettre n'est pas présent
                $param['lat'] = $param_default['lat'];
            if($param['lon'] == $params) // si le paramettre n'est pas présent
                $param['lon'] = $param_default['lon'];
            if($param['height'] == $params) // si le paramettre n'est pas présent
                $param['height'] = $param_default['height'];
            if($param['width'] == $params) // si le paramettre n'est pas présent
                $param['width'] = $param_default['width'];
            if($param['zoom'] == $params) // si le paramettre n'est pas présent
                $param['zoom'] = $param_default['zoom'];
          
            $key  = $this->params->get('key');
    
            $html = "<div id=\"viewerDiv$this->nb_map\" style=\"width:". $param['width'] ."px; height:". $param['height']."px; \"></div>\n";
    
            if($this->nb_map == 1)
            {
                $html .= "<script type=\"text/javascript\" src=\"http://api.ign.fr/geoportail/api/js/latest/GeoportalExtended.js\">
                          <!-- -->
                          </script>";
    
            }
    
    
            //TODO : listener sur actions séparés (pour le onload)
            $html .= "<script type=\"text/javascript\"><!--//--><![CDATA[//><!--
    
                      var load$this->nb_map= function() {
                          var VIEWER$this->nb_map = Geoportal.load(
                              // div's ID:
                              'viewerDiv$this->nb_map',
                              // API's keys:
                              ['".$key."'],
                              {// map's center :
                                  // longitude:
                                  lon:".$param['lon'].",
                                  // latitude:
                                  lat:".$param['lat']."
                              },".$param['zoom']."
                              ".$overlayshtml."
    
                          );
                      };
                      //--><!]]></script>";
    
            return $html;
    
        }
    Ce plugin fait un passage de paramètre dans la variable $params. Elle contient les informations width, height, lat, lon et zoom et est de la forme suivante :
    width='254' height='752' lon='6.739' lat='45.618' zoom='20'

    Le problème est que les informations width, ... ne sont pas récupérées par la variable $param['width'].

    je souhaite donc trouver un moyen que la variable $param['width'] récupère le 254, $param['height'] le 752, ...

    J'avais penser faire un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $regex=????
    preg_match ($regex, $params, $match);
    $param['width'] = $match[0];
    $param['height'] = $match[1];
    $param['lon'] = $match[2];
    $param['lat'] = $match[3];
    $param['zoom'] = $match[4];
    Seulement, je ne trouve pas la $regex à utiliser.

    Merci par avance

  2. #2
    Membre chevronné Avatar de gcebelieu
    Homme Profil pro
    Ingénieur Géographe et Cartographe
    Inscrit en
    Novembre 2010
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Géographe et Cartographe
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2010
    Messages : 1 106
    Points : 1 843
    Points
    1 843
    Par défaut
    Bonjour,

    même si le lien avec l'API Geoportail réside dans le plugin joomla du même nom, ta question semble plutôt relever d'une problématique de php et d'expressions régulières. Personnellement, je ne peux pas trop t'aider et je ne sais pas si tu trouveras ton bonheur ici.

    Tu auras sans doute plus de chances sur le forum où tu l'as aussi postée.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 11
    Points : 3
    Points
    3
    Par défaut
    Quelqu'un utilise-t-il ce plugin ?

  4. #4
    Membre éprouvé Avatar de cmail
    Homme Profil pro
    Inscrit en
    Mai 2009
    Messages
    1 730
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Loire (Auvergne)

    Informations forums :
    Inscription : Mai 2009
    Messages : 1 730
    Points : 966
    Points
    966
    Par défaut
    Qui dit joomla sur ce forum, dit zébulon-21.
    Voir son site valroc.net...
    Merci.

    _____________
    - Le site de l'Observatoire de Haute-Loire (obs43.fr)
    - Voir une vidéo de présentation (2 min.) de l'Observatoire de Haute-Loire

  5. #5
    Membre averti Avatar de Zébulon-21
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    392
    Détails du profil
    Informations personnelles :
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Mai 2009
    Messages : 392
    Points : 315
    Points
    315
    Par défaut
    Citation Envoyé par cmail Voir le message
    Qui dit joomla sur ce forum, dit zébulon-21.
    Voir son site valroc.net...
    Je suis confus Christian

    Plus précisément : Kardo tu peux poser ta question sur notre forum où un pote essaye de développer une application pour Joomla.

Discussions similaires

  1. Demander une chaine de caractères dans une pile en liste chainée
    Par chikita dans le forum Débuter avec Java
    Réponses: 4
    Dernier message: 02/12/2014, 16h53
  2. Réponses: 3
    Dernier message: 18/06/2013, 14h02
  3. Récupérer une chaine de caractère dans une page
    Par BrunS dans le forum Langage
    Réponses: 3
    Dernier message: 15/11/2005, 15h28
  4. [String]Recherche d'une chaine de caractères dans une autre
    Par Crazyblinkgirl dans le forum Langage
    Réponses: 3
    Dernier message: 29/07/2004, 12h51
  5. recherche d'une chaine de caractère dans une données text
    Par jdeheul dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 17/06/2004, 17h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo