Estoy usando OpenLayers 3 para interactuar con algunos mapas. Primero declaro mi 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
})
});
Tengo un evento que desencadena una acción, para cambiar el centro de visualización de mi mapa. De esta manera, (mis coordenadas están en 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
}));
}
Cuando se ejecuta la función, obtengo esto en la consola del explorador:
Lat: 9.0412851667 Long: -79.5658145000
Pero los mapas van a [0,0]
, ¿alguien sabe por qué sucede esto?
fuente
Uncaught TypeError: Failed to execute 'putImageData' on 'CanvasRenderingContext2D': float parameter 3 is non-finite. ol.js:457 2Uncaught RangeError: Invalid array length
. Y creo que es porque mis coordenadas son demasiado largas. Si lo cambio porque[131.044922, -25.363882]
funciona bien. ¿Entonces mis coordenadas son demasiado largas?Tengo una nueva cuenta de intercambio de pila y no tengo una reputación lo suficientemente alta como para comentar sobre "Error de tipo no capturado: no se pudo ejecutar 'putImageData' en 'CanvasRenderingContext2D': el parámetro flotante 3 no es finito". error. Esto ocurre porque tiene las entradas lat y long al revés.
debiera ser:
en caso de que alguien más tenga este problema.
fuente
Para uso exclusivo del navegador:
Para uso de js-app
fuente