2 votos

OpenLayers 3: setCenter parece no funcionar en jsfiddle

Estoy intentando replicar un ejemplo de los OpenLayers Examples, concretamente este: http://openlayers.org/en/v3.0.0/examples/animation.html

El problema es que en mi jsfiddle no consigo que todos los botones funcionen correctamente. Por alguna razón los botones de rotar funcionan pero todos los demás no. Mi fiddle está aquí; http://jsfiddle.net/TimLucas/m6cju630/1/

Parece ser un problema con algunos view.setCenter ya que es lo único diferente en las funciones que llaman a los otros botones ('girar a Madrid', etc.). Estuve buscando otros ejemplos donde esta función sí funcione, pero no encuentro diferencias entre la función de mi fiddle que no funciona y fiddles que sí parecen conseguir que esta funcionalidad funcione (como por ejemplo http://jsfiddle.net/ygtxwodL/ ). ¿Alguien sabe qué estoy haciendo mal?

Soy bastante nuevo en JavaScript así que disculpas por cualquier error obvio.

2voto

Noel Grandin Puntos 1773

Debe cambiar el ámbito de su ver para que esté disponible para esos eventos de escucha. Simplemente haz que la vista sea global declarándola fuera de la definición del Mapa.

Véase http://jsfiddle.net/4gjhwbne/

es decir, cambiar

var map = new ol.Map({
  target: 'map',
  layers: [
    new ol.layer.Tile({
      source: new ol.source.MapQuest({layer: 'osm'})
    })
  ],
  view: new ol.View({
    center: amsterdam,
    zoom: 10
  })
});

a

var view = new ol.View({
    center: amsterdam,
    zoom: 10
  });

var map = new ol.Map({
  target: 'map',
  layers: [
    new ol.layer.Tile({
      source: new ol.source.MapQuest({layer: 'osm'})
    })
  ],
  view: view
});

P.D. pruebe a utilizar algunas herramientas para desarrolladores de navegadores, como Firebug o Herramientas para desarrolladores de Chrome para ver qué está pasando

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