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 :

Placer des icones dans Geoportail


Sujet :

IGN API Géoportail

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 7
    Points : 2
    Points
    2
    Par défaut Placer des icones dans Geoportail
    Bonjour,

    Je cherche à placer des images ponctuelles ("markers") géolocalisées dans geoportail.
    Or dans les documentations que je trouve, on fait à chaque fois appel à "OpenLayers.Layer.Markers", qui ne semble pas exister dans l'API Geoportail (qui pourtant reprend OpenLayer). addMarker ne semble pas exister non plus.

    Je sèche donc : auriez-vous des solutions ?

    Merci.

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 2 130
    Points : 1 765
    Points
    1 765
    Par défaut
    Le support des marqueurs est en voie de disparition dans OpenLayers, il faut mieux se tourner vers les "Vector".
    Dans https://api.ign.fr/geoportail/document.do?doc=6133118, il y a un début de comment faire...

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Bonjour,

    Voici le code que j'utilise pour ajouter des marqueurs sur une carte :

    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
    function add_poi (long,lat)
    	{
    		var point =  new OpenLayers.Geometry.Point(parseFloat(long),parseFloat(lat));
    		  
    		// Passage en projection Géoportail
    		var sourceproj = OpenLayers.Projection.CRS84; // WGS84
    			
    		var destproj = viewer.projection; // projection Geoportail
    		point.transform(sourceproj, destproj);
    		
    		// Création du POI  à partir du point
    		stylepoi = {externalGraphic:'picto.png',  graphicWidth:27, graphicHeight:34 };
    			
    		var mon_poi = new OpenLayers.Feature.Vector(point, {id: 1}, stylepoi);
    		  
    		vector_layer = new OpenLayers.Layer.Vector("POI");
    		
    		// Ajout du POI à la couche créée et affichage de la couche
    		vector_layer.addFeatures([mon_poi]);
    		
    		// Ajout de la couche à la carte
    		viewer.getMap().addLayer(vector_layer);
    	}
    J'espère que cela pourra vous aider.

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par mga_geo Voir le message
    Le support des marqueurs est en voie de disparition dans OpenLayers, il faut mieux se tourner vers les "Vector".
    Dans https://api.ign.fr/geoportail/document.do?doc=6133118, il y a un début de comment faire...
    Certes, mais jusqu'à présent je n'ai aps réussi à afficher une image avec Vector... (je ne veux pas afficher des vecteur, mais une image bitmap).

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par lilith_abaddon Voir le message
    Bonjour,

    Voici le code que j'utilise pour ajouter des marqueurs sur une carte :
    J'espère que cela pourra vous aider.
    Merci pour ce bout de code : je vais tester, mais je pense que ça fait ce que je veux.

  6. #6
    Expert confirmé
    Homme Profil pro
    Ingénieur cartographe
    Inscrit en
    Avril 2009
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur cartographe
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2009
    Messages : 3 173
    Points : 4 224
    Points
    4 224
    Par défaut
    Citation Envoyé par la_taille Voir le message
    Or dans les documentations que je trouve, on fait à chaque fois appel à "OpenLayers.Layer.Markers", qui ne semble pas exister dans l'API Geoportail (qui pourtant reprend OpenLayer). addMarker ne semble pas exister non plus.
    Cette classe n'existe que si on utilise l'API étendue (v=1.2-e)
    Mais, elle est dépréciée dans OpenLayers ... Il vaut donc mieux suivre les pistes indiquées mga_geo et lilith_abaddon

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    Merci pour votre aide, ça marche bien !

    Mais je sèche sur le point suivant : ouvrir une popup lorsqu'on clique sur l'image.

    Je sais créer la popup, mais je suis parfaitement incapable de me dépatouiller de l'obscure système de gestion des évènements de OpenLayer (OpenLayers.Control, OpenLayers.Events, map.events.register, etc)...

  8. #8
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 2 130
    Points : 1 765
    Points
    1 765
    Par défaut Une url
    Une url permet de voir plus facilement ce qui se passe...

  9. #9
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par mga_geo Voir le message
    Une url permet de voir plus facilement ce qui se passe...
    C'est de l'intranet SNCF, donc impossible d'y accéder de l'extérieur.

    En fait, je veux juste qu'en cliquant sur les images (que je sais afficher grâce au posts précédents), s'affiche une popup.

    Créer une popup est facile.
    Gérer les évènements dans ce fou..oir qu'est OpenLayer est au delà de mes capacités.

  10. #10
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    J'ai réussi à obtenir ce que je voulais avec le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
      selectControl = new OpenLayers.Control.SelectFeature(layer,
              {onSelect: onFeatureSelect, onUnselect: onFeatureUnselect});
      viewer.map.addControl(selectControl);
      selectControl.activate();
    avec "onFeatureSelect" et "onFeatureUnselect" des fonction à définir, et "viewer" l'objet Géoportail.

Discussions similaires

  1. placer des dates dans des feuilles en fonction du mois
    Par Jerez62 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 11/12/2006, 11h05
  2. Disparition des icones dans l'explorateur windows
    Par Lexot2 dans le forum Windows XP
    Réponses: 3
    Dernier message: 31/08/2006, 10h26
  3. Ajouter des icones dans vos ressources
    Par Eric Boisvert dans le forum EDI
    Réponses: 1
    Dernier message: 24/05/2005, 21h02
  4. Placer des quote dans un champs
    Par PrinceMaster77 dans le forum ASP
    Réponses: 2
    Dernier message: 21/04/2005, 11h36
  5. Réponses: 4
    Dernier message: 11/06/2004, 11h21

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