Мне нужно знать, что является текущим центром Карты Цезия.
Я пытался использовать viewer.camera.position
, но он всегда дает одно и то же значение z (x: 16921255.101297915, y: 5578093.302269477, z: 12756274), и я не уверен в значениях x и y. Они в метрах?
Большое спасибо!
РЕДАКТИРОВАТЬ: Решение
Со всей помощью, которую я получил (спасибо!) Я собрал это вместе:
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));
}
};
Эта функция дает координаты долготы/широты в градусах.
Ellipsoid.cartesianToCartographic
(показано в ответе ниже) для выполнения преобразования. - person emackey   schedule 26.10.2015