Я использую OpenLayers 3 для взаимодействия с некоторыми картами. Сначала я объявляю свою карту:
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
})
});
У меня есть событие, которое запускает действие, чтобы изменить центр просмотра моей карты. Таким образом, (мои координаты в EPSG:4326
формате):
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
}));
}
Когда функция запускается, я получаю это в консоли проводника:
Lat: 9.0412851667 Long: -79.5658145000
Но карты идут [0,0]
, кто-нибудь знает, почему это происходит?
Uncaught TypeError: Failed to execute 'putImageData' on 'CanvasRenderingContext2D': float parameter 3 is non-finite. ol.js:457 2Uncaught RangeError: Invalid array length
. И я думаю, потому что мои координаты слишком длинные. Если я изменю это для[131.044922, -25.363882]
работы, хорошо. Так мои координаты слишком длинные ??У меня есть новая учетная запись обмена стека, и у меня нет достаточно высокой репутации, чтобы комментировать «Uncaught TypeError: Не удалось выполнить 'putImageData' для 'CanvasRenderingContext2D': параметр float 3 не является конечным." ошибка. Это происходит потому, что у вас есть лат и длинный вход назад.
должно быть:
в случае, если кто-то еще имеет эту проблему.
источник
Только для браузера:
Для использования js-app
источник