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

SIG : Système d'information Géographique Discussion :

[OpenLayers] OpenLayers.Projection.CRS84 undefined


Sujet :

SIG : Système d'information Géographique

  1. #1
    Membre à l'essai
    Inscrit en
    Octobre 2007
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 18
    Points : 10
    Points
    10
    Par défaut [OpenLayers] OpenLayers.Projection.CRS84 undefined
    bonjour

    j'affiche une carte avec la projection EPSG:27572 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
            map = new OpenLayers.Map( 'map', {
                            controls:[
                                    myNavControl,
                            maxExtent: maxextent,
                            maxResolution: "auto",
                            units: "m",
                            projection: new OpenLayers.Projection("EPSG:27572"),
        } );
    et j'ai besoin de transformer les coordonnées de chaque
    point cliqué dans la projection OpenLayers.Projection.CRS84 soit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    onclick: function(e) {
    var lonlat = map.getLonLatFromViewPortPx(e.xy).transform(map.getProjection(), OpenLayers.Projection.CRS84);
    ...
    je constate que le point n'est pas projeté : il reste dans sa projection
    d'origine (EPSG:27572)

    si je trace la valeur de OpenLayers.Projection.CRS84 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    console.log(" OpenLayers.Projection.CRS84 "+ OpenLayers.Projection.CRS84);
    j'obtiens :

    OpenLayers.Projection.CRS84 undefined

    de même, si je prends l'exemple suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    var position=new OpenLayers.LonLat(5.01181, 47.37080);
    position.transform(OpenLayers.Projection.CRS84, map.getProjection());
    le navigateur me signale aussi que la projection source, à savoir
    OpenLayers.Projection.CRS84, est indéfinie

    faut-il utiliser proj4js ?

    merci d'avance

    Jean-Marie

  2. #2
    Membre à l'essai
    Inscrit en
    Octobre 2007
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 18
    Points : 10
    Points
    10
    Par défaut Re : [OpenLayers] OpenLayers.Projection.CRS84 undefined
    j'ai finalement résolu mon problème en utilisant effectivement
    proj4js mais j'ai du remplacé OpenLayers.Projection.CRS84
    par new OpenLayers.Projection("EPSG:4326") soit :

    var xy=map.getLonLatFromViewPortPx(e.xy);
    var proj = new OpenLayers.Projection("EPSG:4326");
    var point = new OpenLayers.LonLat(xy.lon, xy.lat);
    point.transform(map.getProjectionObject(), proj);

    JM

Discussions similaires

  1. Openlayers, geoportail et projections
    Par llby_ dans le forum IGN API Géoportail
    Réponses: 2
    Dernier message: 06/09/2012, 14h06
  2. [OpenLayers] OpenLayers.Projection.CRS84 undefined
    Par Jean-Marie64 dans le forum IGN API Géoportail
    Réponses: 2
    Dernier message: 28/06/2011, 10h17
  3. projection: OpenLayers. Projection. CRS84
    Par cmail dans le forum IGN API Géoportail
    Réponses: 22
    Dernier message: 05/03/2011, 16h50
  4. erreur sur OpenLayers.Projection('IGNF:RGF93');
    Par mga_geo dans le forum IGN API Géoportail
    Réponses: 2
    Dernier message: 28/07/2009, 16h40
  5. [OpenLayers - ASP.NET / C#] ordre d'exécution de scripts
    Par slim dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 22/04/2008, 15h08

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