Estou usando o OpenLayers 3 para interagir com alguns mapas. Primeiro declaro meu mapa:
map = new ol.Map({
target: 'map',
layers: [
new ol.layer.Tile({
source: new ol.source.OSM()
})
],
view: new ol.View({
center: [0, 0],
zoom: 2
})
});
Eu tenho um evento que aciona uma ação, para alterar o centro de exibição do meu mapa. Dessa forma, (minhas coordenadas estão em EPSG:4326
formato):
function CenterMap(lat, long) {
console.log("Lat: " + lat + " Long: " + long);
map.setView(new ol.View({
center: ol.proj.transform([lat, long], 'EPSG:3857', 'EPSG:4326'),
zoom: 5
}));
}
Quando a função é executada, recebo isso no console do explorer:
Lat: 9.0412851667 Long: -79.5658145000
Mas os mapas seguem [0,0]
, alguém sabe por que isso acontece?
fonte
Uncaught TypeError: Failed to execute 'putImageData' on 'CanvasRenderingContext2D': float parameter 3 is non-finite. ol.js:457 2Uncaught RangeError: Invalid array length
. E acho que é porque minhas coordenadas são muito longas. Se eu mudar para[131.044922, -25.363882]
isso funciona ok. Então minhas coordenadas são longas demais?Eu tenho uma nova conta de troca de pilhas e não tenho uma reputação alta o suficiente para comentar sobre o "Tipo não detectado: Erro ao executar 'putImageData' em 'CanvasRenderingContext2D': o parâmetro flutuante 3 não é finito". erro. Isso ocorre porque você tem as entradas lat e long para trás.
deveria estar:
caso alguém mais tenha esse problema.
fonte
Para uso somente no navegador:
Para uso do js-app
fonte