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