Tôi đang sử dụng OpenLayers 3 để tương tác với một số bản đồ. Trước tiên tôi khai báo bản đồ của mình:
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
})
});
Tôi đã có một sự kiện kích hoạt một hành động, để thay đổi trung tâm chế độ xem bản đồ của tôi. Bằng cách này, (tọa độ của tôi có EPSG:4326
định dạng):
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
}));
}
Khi chức năng chạy, tôi nhận được điều này tại bảng điều khiển explorer:
Lat: 9.0412851667 Long: -79.5658145000
Nhưng các bản đồ đi đến [0,0]
, có ai biết tại sao điều này xảy ra?
Uncaught TypeError: Failed to execute 'putImageData' on 'CanvasRenderingContext2D': float parameter 3 is non-finite. ol.js:457 2Uncaught RangeError: Invalid array length
. Và tôi nghĩ là vì tọa độ của tôi quá dài. Nếu tôi thay đổi nó cho[131.044922, -25.363882]
nó hoạt động ok. Vì vậy, tọa độ của tôi quá dài ??