Je peux avec succès faire:OpenLayers Projections
point.transform(new OpenLayers.Projection("EPSG:900913"), new OpenLayers.Projection("EPSG:4326"));
à un point qui est au format Google (en mètres), mais quand je veux faire l'inverse: à un point
point.transform(new OpenLayers.Projection("EPSG:4326"), new OpenLayers.Projection("EPSG:900913"));
c'est en 4326 (format régulier lat/lon), j'ai quelques problèmes.
Toute valeur négative semble devenir NaN (pas un nombre) lorsque je fais la transformation. Y a-t-il quelque chose à propos de la transformation à l'envers que je ne comprends pas? Edit: Pire encore, quand je n'ai pas de valeurs négatives, les coordonnées semblent désactivées. J'obtiens les coordonnées en dessinant un carré à l'écran, puis en sauvegardant ces coordonnées dans une base de données et en les chargeant plus tard. Je peux dessiner un carré près de la pointe de l'Afrique (coordonnées positives), puis quand il se charge, c'est près du sommet de l'Afrique, dans l'océan Atlantique. Je suis vraiment faire quelque chose de mal ....
Edit: Voici mon code: http://pastie.org/911524
Plus précisément: voilà comment j'initialiser mon carte:
var navControl = new OpenLayers.Control.Navigation();
map = new OpenLayers.Map('map', {
// restrictedExtent: bounds.clone(),
});
//actually draws the map
layerMapnik = new OpenLayers.Layer.OSM.Mapnik("Mapnik", {
displayOutsideMaxExtent: false,
wrapDateLine: true
//numZoomLevels: 10
});
Pouvez-vous afficher les coordonnées spécifiques? Quelle projection utilise votre carte? – amercader