Changement de Projection dans OpenLayers Carte
Je veux mettre "EPSG:4326" comme la projection d'une carte OpenLayers, mais quand je l'ai essayer, je reçois toujours "EPSG:900913".
function init() {
var options = {
projection: new OpenLayers.Projection("EPSG:4326") //ignored
};
map = new OpenLayers.Map('map', options);
var layer = new OpenLayers.Layer.OSM.Osmarender("Osmarender");
map.addLayer(layer);
...
alert(map.getProjection()); //returns "EPSG:900913"
...
}
La carte de base est open street map.
Comment puis-je définir la Projection de EPSG:4326?
OriginalL'auteur deamon | 2010-04-20
Vous devez vous connecter pour publier un commentaire.
Il est Osmarender qui a une codé en dur 900913 projection, rien à faire à ce sujet. Mais avez-vous pensé à prendre les choses dans l'autre sens? La transformation de vos coordonnées ou de la couche de EPSG:900913? Consultez la documentation ici: http://docs.openlayers.org/library/spherical_mercator.html
OriginalL'auteur milovanderlinden
Comme milovanderlinden l'a souligné, que vous avez à transformer latitude/longitude valeurs (comme Google ou Bing maps) avant le peuvent être appliquées dans OpenStreetMap couches comme
Osmarender
ouMapnik
:OriginalL'auteur user405914
Qu'est-ce que la couche de base. Êtes-vous essayer de tirer sur GMaps ou Bing Maps? Si oui, alors OpenLayers peut-être essayer d'obtenir les données correspondant à la projection de la couche de base de sorte qu'il s'aligne correctement.
OriginalL'auteur TheSteve0
Ce n'est pas un bug, c'est une fonctionnalité. Mercator sphérique est un carré de pixel de projection, de sorte que votre openlayers vecteur de caractéristiques peut être placé correctement sur la carte - ce n'est pas le cas avec WSG-84 (EPSG:4326)
OriginalL'auteur fbuchinger