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 :

Comment écrire quelque chose à des coordonnées précises ?


Sujet :

IGN API Géoportail

  1. #21
    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
    Voilà donc ce que je te propose (mes modifs en gras ou en barré) :

    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
    // creation du style
      var style= new OpenLayers.Style(
              { 
                externalGraphic:'./Images/Recherche2_32x32.png', 
                pointRadius:25,
                label:'${getLabel}'
              },
              {
                context:{
                  getLabel: function(feature) {
                    return feature.attributes.name;
                  }
                }
              }
      ) ;
    
    commune_layer = new OpenLayers.Layer.Vector('communes', 
    {
      displayInLayerSwitcher:false,
      styleMap: style
    }
    );
    map.addLayer(commune_layer);
    ...
    ...
    ...
            commune_layer.removeAllFeatures();
            
            // On crée le point
            var punaise = new OpenLayers.Feature.Vector(
              geocoded_commune_center, 
              {name:resultat.features[0].attributes.address.places[0].name}/*, // on récupère le nom de la ville géocodé (au cas où il faudrait s'en resservir)
              { // Style du point
                externalGraphic:'./Images/Recherche2_32x32.png', 
                pointRadius:20
              }*/
            );
            // on ajoute le point à la couche
            commune_layer.addFeatures([punaise]);
            WZoomRecherche = 10;
            // On recentre la carte sur le résultat
            map.setLonLatCenter(geocoded_commune_center.x, geocoded_commune_center.y, WZoomRecherche, false, false);
            
            alert ('ville trouvée : ' + resultat.features[0].attributes.address.places[0].name);
    à tester ...

  2. #22
    Membre actif Avatar de Zebulon777
    Homme Profil pro
    Informaticien
    Inscrit en
    Février 2005
    Messages
    1 320
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Informaticien

    Informations forums :
    Inscription : Février 2005
    Messages : 1 320
    Points : 286
    Points
    286
    Par défaut
    Désolé de ne pas avoir donner de nouvelles plus tôt, mais encore une fois, j'étais sur un autre projet.
    Bref, j'ai trouvé, ou plutôt on m'a aidé à trouver.
    Voici la solution :

    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
            commune_layer.removeAllFeatures();
            
            // On crée le point
            var punaise = new OpenLayers.Feature.Vector(
              geocoded_commune_center, 
              {name:resultat.features[0].attributes.address.places[0].name}, // on récupère le nom de la ville géocodé (au cas où il faudrait s'en resservir)
              { // Style du point
    //            externalGraphic:'http://blog.zelieux.com/wp-content/uploads/2010/10/punaise.png', 
                externalGraphic:'./Images/Recherche2_32x32.png', 
                pointRadius:20, 
                label:''+resultat.features[0].attributes.address.places[0].name, 
                labelAlign:'lb',
                labelYOffset:10,
                labelXOffset:5,
                fontColor:'white'
              }
            );
            // on ajoute le point à la couche
            commune_layer.addFeatures([punaise]);
            WZoomRecherche = 10;
            // On recentre la carte sur le résultat
            map.setLonLatCenter(geocoded_commune_center.x, geocoded_commune_center.y, WZoomRecherche, false, false);
    Voila.
    En fait c'était tout simple, mais il fallait le savoir.

    Merci encore à tous pour votre aide et surtout pour votre patience.

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Lors d'un choix écrire quelque chose
    Par Devilju69 dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 19/12/2013, 18h37
  2. [C#] Centrer une image sur des coordonnées précises
    Par Towandaa dans le forum Windows Presentation Foundation
    Réponses: 1
    Dernier message: 27/03/2012, 16h00
  3. JSP, Taglib, comment faire quelque chose de propre
    Par Arget dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 22/12/2011, 19h41
  4. Réponses: 5
    Dernier message: 14/12/2009, 09h36
  5. Réponses: 13
    Dernier message: 07/08/2006, 10h13

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