3 votos

Reproyección de una vista openlayers 3

Soy nuevo en el SIG y en OL3. Mi aplicación necesita mostrar un mapa en EPSG:4326 y la misma aplicación tiene que mostrar un mapa en EPSG:3412 cuando hago clic en un botón.

Aquí está el enlace para el JSFiddle http://jsfiddle.net/tmylamoule/ze9cg462/

Mi código JS

proj4.defs("EPSG:3412", "+proj=stere +lat_0=-90 +lat_ts=-70 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6378273 +b=6356889.449 +units=m +no_defs");
var ePSG3412Button = document.getElementById('clickMe');
var ePSG3857Button = document.getElementById('clickMe2');

var map = new ol.Map({
  target: 'map',
  layers: [
    new ol.layer.Tile({
      source: new ol.source.MapQuest({
        layer: 'sat',
        wrapX: false,
        noWrap: true,
      }),
    })
  ],
});
ePSG3412Button.addEventListener('click', function() {
  var view2 = new ol.View({
    projection: 'EPSG:3412',
    center: ol.proj.transform([0, 0], 'EPSG:3857', 'EPSG:3412'),
    zoom: 1
  });
  map.setView(view2);
});
ePSG3857Button.addEventListener('click', function() {
  var view = new ol.View({
    projection: 'EPSG:3857',
    center: ol.proj.transform([0, 0], 'EPSG:3857', 'EPSG:3857'),
    zoom: 1
  });
  map.setView(view);
});

Lo único que hace mi código es centrar el mapa en el centro de cada proyección. Pero no consigo transformar las baldosas.

1voto

Gunny Puntos 16

A partir de la versión 3.11.0 la librería ol3 soporta la reproyección de tramas en el cliente. Las notas de la versión que indican este cambio se pueden encontrar en GitHub .

Si alguien se enfrenta a este tipo de problema, actualice a la última versión de ol3.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X