Mais

OpenLayers 3: setCenter parece não funcionar no jsfiddle

OpenLayers 3: setCenter parece não funcionar no jsfiddle


Estou tentando replicar um exemplo dos Exemplos OpenLayers, especificamente este: http://openlayers.org/en/v3.0.0/examples/animation.html

O problema é que no meu jsfiddle não consigo fazer com que todos os botões funcionem corretamente. Por algum motivo, os botões de rotação funcionam, mas todos os outros não. Meu violino está bem aqui; http://jsfiddle.net/TimLucas/m6cju630/1/

Parece ser um problema com algunsview.setCenterpois esta é a única diferença nas funções que chamam os outros botões ('rodar para Madrid', etc.) Eu estava procurando por outros exemplos em que essa função funcione, mas não consigo encontrar nenhuma diferença entre a função em meu violino que não funciona e violinos que parecem fazer essa funcionalidade funcionar (como http://jsfiddle.net/ygtxwodL /). Alguém pode ver o que estou fazendo de errado?

Eu sou um pouco novo em JavaScript, então peço desculpas por quaisquer erros óbvios.


Você precisa alterar o escopo de seu Visão portanto, está disponível para esses eventos de ouvinte. Basta tornar a visualização global, declarando-a fora da definição do mapa.

Veja http://jsfiddle.net/4gjhwbne/

ou seja, mudar

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})});

para

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.S. tente usar algumas ferramentas de desenvolvedor de navegador, como Firebug ou ferramentas de desenvolvedor do Chrome para ver o que está acontecendo


Assista o vídeo: Mapas em JavaScript com HERE