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 :

décalage des marker avec changement d'échelle


Sujet :

IGN API Géoportail

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Février 2010
    Messages : 11
    Points : 9
    Points
    9
    Par défaut décalage des marker avec changement d'échelle
    Bonjour,
    J'affiche des points sur ma carte, mais quand je zoom (au niveau pays et que la carte de fond change) mes points sont décalés vers le nord. Un problème que je n'arrive pas à résoudre malgré mes lectures...

    Vous pouvez voir ce pb sur la carte affichée en page d'accueil de ce site en construction. http://frk2.free.fr/

    Merci pour vos conseils,

    Voici mon code :
    function initGeoportalMap() {
    //construction de la carte
    geoportalLoadmap("GeoportalmapDiv", "mini");
    if (map.getMap().allowedGeoportalLayers) {
    //ajout de couches
    map.addGeoportalLayer('GEOGRAPHICALGRIDSYSTEMS.MAPS:WMSC',{opacity:1});
    map.getMap().setCenterAtLonLat(0,48,2);
    map.openLayersPanel(false);
    map.openToolsPanel(false);
    var size= new OpenLayers.Size(5,5);
    var offset= new OpenLayers.Pixel(-(size.w/2), -(size.h/2));//centered

    <BOUCLE_pos(POUR){tableau #GET{coord}}{valeur != 0}>

    var icon = new OpenLayers.Icon('./plugins/auto/zpip/img/rep_r.gif',size,offset);
    var markers#CLE= new OpenLayers.Layer.Markers("centrale");
    map.getMap().addLayer(markers#CLE);
    var ll#CLE= new OpenLayers.LonLat(#VALEUR);
    ll#CLE.transform(OpenLayers.Projection.CRS84, map.getMap().getProjection());
    markers#CLE.addMarker(new OpenLayers.Marker(ll#CLE,icon));

    </BOUCLE_pos>

    }

    }
    -->

    PS: <BOUCLE_.... fait partie de la syntaxe SPIP. Il s'agit ici d'une boucle qui produit deux valeurs #CLE=index du tableau de lon,lat et #VALEUR=lon,lat

  2. #2
    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
    Bienvenu Frank!
    Deux remarques qui ne te débloqueront pas forcément...

    1. DGRichard, te demandera probablement de passer en version beta5.
    2. Pourquoi ne pas introduire tes points via un fichier kml ?

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

    Informations forums :
    Inscription : Mai 2009
    Messages : 2 124
    Points : 1 764
    Points
    1 764
    Par défaut
    Pour le passage en beta5, c'est la bonne idée!

    Avec la structure "BOUCLE", les variables sont définies par les rédacteurs de Spip, et donc le développeur n'a plus de fichiers kml à mettre à jour.

    Je remplacerai
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    markers#CLE.addMarker(new OpenLayers.Marker(ll#CLE,icon));
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    markers#CLE.addMarker(new OpenLayers.Marker(ll#CLE,icon.clone()));
    Mais c'est SGDD!

    Ce module va être bientôt sur http://www.spip-contrib.net/ ?

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Février 2010
    Messages : 11
    Points : 9
    Points
    9
    Par défaut
    Merci à tous les deux pour vos conseils,

    cmail, 1- Je veux bien passer en beta5 mais ça n'a pas l'air d'être en ligne d'après ce que j'ai pu lire, et je dois livrer ce site à brève échéance.
    2- Comme l'a expliqué mga_geo, les coordonnées sont introduites par le redacteur dans l'interface d'admin. Je récupère ces valeurs pour positionner les markers sur la carte. Donc pas de fichiers externes.

    mga_geo, j'ai fait la modification que tu me proposes. c'est en ligne, pas de changement de comportement semble-t-il.
    Je ne suis pas certain de poursuivre avec geoportail car je butte sur des problématiques qui risquent de me faire abandonner ce choix. Toutefois si j'arrive à faire quelquechose d'interessant je pourrais en faire profiter la communauté SPIP.

    Pas d'idée sur mon problème de "saut" de positionnement lors du zoom ?

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

    Informations forums :
    Inscription : Mai 2009
    Messages : 2 124
    Points : 1 764
    Points
    1 764
    Par défaut Baie de Saint-Brieuc
    Je viens de passer en page de test sur mon site: http://atlasnw.free.fr/geoportail/ex...ta5/poweo.html

    Pour moi le point en baie de Saint-Brieuc est correctement placé: -2.65, 48.6 et ce à toutes les échelles.
    Je suis en version beta5.

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Février 2010
    Messages : 11
    Points : 9
    Points
    9
    Par défaut
    Super! en effet ça marche. En plus je vois que les points situés en dehors de FXX sont bien placés, alors que ça ne semble pas fonctionner en beta4.

    Comment procéder, il faut que les fichiers de l'api soient hebergé sur le serveur de mon client en attendant la version en ligne ?

    Je suis étonné qu'il n'y ait pas de solution à ce bug (?), personne n'a déjà rencontré ce problème ?

    en tout cas merci pour votre aide !

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

    Informations forums :
    Inscription : Mai 2009
    Messages : 2 124
    Points : 1 764
    Points
    1 764
    Par défaut
    Je suis assez pour avoir les fichiers de l'API sur le serveur applicatif. Le gros intérêt est de garantir le bon fonctionnement dans le temps de l'application avec une totale maitrise des évolutions de version.
    Au niveau performances, il est difficile de dire quelle est la meilleure solution avec un hébergement pro.

  8. #8
    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 frkdavid Voir le message
    Je suis étonné qu'il n'y ait pas de solution à ce bug (?), personne n'a déjà rencontré ce problème ?
    Si (moi) c'est la bêta5 qui le corrige ... (future 1.0)

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Février 2010
    Messages : 11
    Points : 9
    Points
    9
    Par défaut installation locale 1.0beta5
    Bonjour,
    Excusez mon incompétence en la matière, mais je sèche sur l'intégration de beta5 sur mon serveur. j'ai bien installé le contenu du zip Geoportail-API-1.0beta5-2009-09-09.zip de DGRichard sur mon serveur http://frk2.free.fr/geoportail/api/js/1.0beta5/ et ajouté le lien dans mon head <script type="text/javascript" src="/geoportail/api/js/1.0beta5/GeoportalExtended.js"></script>

    mais je n'ai pas vu de changement de comportement... tous mes markers présentent le même pb de déplacement lors du passage du zoom niveau 4 à 5 je pense.

    Ai-je oublié quelque chose ?...

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

    Informations forums :
    Inscription : Mai 2009
    Messages : 2 124
    Points : 1 764
    Points
    1 764
    Par défaut Il y a d'autres versions
    La dernière version en date est une RC3: http://www.developpez.net/forums/d80...s/#post4990874

    Dans la suite de ce fil, il y a des explications sur comment décompresser les archives segmentées.
    Avant dans ce fil, il y a comment faire avec ces archives.
    En gros on décompresse tout dans un répertoire donné en conservant l'arborescence présente dans les archives.
    Dans le cas de free.fr, il faut de plus décompresser (gunzip) l'API.

  11. #11
    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
    Si je regarde ton url que tu as donné je vois que renvoie toujours sur l'API4
    Il faut écrire:
    Et puis mettre onload="initGeoportalMap(); dans la déclaration de ton body... Dans ton cas, il faudra intégrer initGeoportalMap() dans ton initialize()

    Je crois?

  12. #12
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Février 2010
    Messages : 11
    Points : 9
    Points
    9
    Par défaut
    MERCI BEAUCOUP !
    ça fonctionne en effet. Je cherchai à quoi pouvait bien servir ce "includeEngine=false" que j'avais repéré dans l'entête du site de mga_geo mais je perdais l'API car je ne faisait pas de initGeoportalMap() dans mon onLoad. D'ailleurs ça fonctionnait sans onLoad pour la version beta4, pourquoi cette différence ? (c'était pratique).

    Merci encore à tous pour votre aide.

  13. #13
    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
    Et n'oublie pas http://www.developpez.net/forums/d81...-applications/

    Ton travail pourra servir de réflexion à d'autres...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Uniformiser une échelle sur des images avec résolutions différentes
    Par pjzbbsection dans le forum Traitement d'images
    Réponses: 1
    Dernier message: 05/02/2013, 17h36
  2. [Google Maps] décalage des markers api v3
    Par nanog dans le forum APIs Google
    Réponses: 1
    Dernier message: 15/07/2012, 15h51
  3. changement des droits avec >>
    Par exe2bin dans le forum Administration système
    Réponses: 2
    Dernier message: 13/02/2011, 17h05
  4. décalage des markers avec changement d'échelle
    Par frkdavid dans le forum IGN API Géoportail
    Réponses: 3
    Dernier message: 02/03/2010, 13h35
  5. [PHP 5.2] Générer un tableau avec PHP (décalage des en-têtes)
    Par beegees dans le forum Langage
    Réponses: 2
    Dernier message: 27/06/2009, 17h43

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