Ich muss wissen, was ist das aktuelle Zentrum der Caesium Karte.Holen Sie sich das Zentrum in Cesium Karte
Ich versuchte viewer.camera.position
zu verwenden, aber es gibt immer den gleichen z-Wert (x: 16.921.255,101297915, y: 5578093,302269477, z: 12.756.274) und ich bin über die x- und y-Werte nicht sicher. Sind sie in Metern?
Vielen Dank!
EDIT: Lösung
Mit all der Hilfe, die ich bekam ich diese zusammen (Danke!):
getPosition(){
if (viewer.scene.mode == 3) {
var windowPosition = new Cesium.Cartesian2(viewer.container.clientWidth/2, viewer.container.clientHeight/2);
var pickRay = viewer.scene.camera.getPickRay(windowPosition);
var pickPosition = viewer.scene.globe.pick(pickRay, viewer.scene);
var pickPositionCartographic = viewer.scene.globe.ellipsoid.cartesianToCartographic(pickPosition);
console.log(pickPositionCartographic.longitude * (180/Math.PI));
console.log(pickPositionCartographic.latitude * (180/Math.PI));
} else if (viewer.scene.mode == 2) {
var camPos = viewer.camera.positionCartographic;
console.log(camPos.longitude * (180/Math.PI));
console.log(camPos.latitude * (180/Math.PI));
}
};
Diese Funktion gibt Länge/Breite-Koordinaten in Graden.
Ja, cartesianischen Werte sind in Metern. Die X-Achse zeigt von der Mitte der Erde aus in Richtung Lat 0, Lon 0, Alt 0. Die Z-Achse zeigt von der Mitte nach außen zum Nordpol. Die Y-Achse bildet ein rechtes Koordinatensystem mit den anderen beiden. Sie müssen 'Ellipsoid.cartesianToCartographic' (in der Antwort unten gezeigt) verwenden, um die Konvertierung durchzuführen. – emackey