Ich verwende OpenLayers 3, um mit einigen Karten zu interagieren. Ich erkläre zuerst meine Karte:
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
})
});
Ich habe ein Ereignis, das eine Aktion auslöst, um das Ansichtszentrum meiner Karte zu ändern. So (meine Koordinaten sind im EPSG:4326
Format):
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
}));
}
Wenn die Funktion ausgeführt wird, erhalte ich Folgendes an der Explorer-Konsole:
Lat: 9.0412851667 Long: -79.5658145000
Aber die Karten gehen an [0,0]
, weiß jemand warum das passiert?
quelle
Uncaught TypeError: Failed to execute 'putImageData' on 'CanvasRenderingContext2D': float parameter 3 is non-finite. ol.js:457 2Uncaught RangeError: Invalid array length
. Und ich denke, weil meine Koordinaten zu lang sind. Wenn ich es ändere[131.044922, -25.363882]
, funktioniert es in Ordnung. Also sind meine Koordinaten zu lang?Ich habe ein neues Stapelaustauschkonto und habe keinen Ruf, der hoch genug ist, um zu "Uncaught TypeError: Ausführen von 'putImageData' für 'CanvasRenderingContext2D' fehlgeschlagen: Float-Parameter 3 ist nicht endlich" Stellung zu nehmen. Error. Dies liegt daran, dass Sie die lat- und die long-Eingaben rückwärts haben.
sollte sein:
falls jemand anderes dieses Problem hat.
quelle
Nur für Browser:
Für die Verwendung mit der js-App
quelle