Стратегии, используемые для программного увеличения и уменьшения GeographicGlobe и GeographicAxes объекты различны. Для GeographicGlobe , вы указываете высоту камеры с помощью camheight функция. Для GeographicAxes , вы указываете уровень зумирования с помощью ZoomLevel или укажите пределы широты и долготы с помощью geolimits функция. Создать GeographicGlobe и GeographicAxes объекты с аналогичными масштабами карты, приблизительной высотой камеры и уровнем зумирования с помощью heightToZoomLevel и zoomLevelToHeight локальные функции (определены здесь).
Можно проверить поведение zoomLevelToHeight локальная функция путем отображения GeographicAxes и GeographicGlobe объекты, использующие сопоставимые уровни увеличения.
Укажите широту и долготу Сиднейского оперного театра. Создайте географические оси с базовой картой, центром карты и уровнем зумирования, который позволяет четко видеть здание.
Создайте географический глобус. Расположите камеру над Сиднейским оперным театром с помощью campos функция.
Рассчитайте приблизительную высоту камеры от уровня зумирования с помощью zoomLevelToHeight локальная функция. Затем установите высоту камеры с помощью camheight функция. Обратите внимание, что географические оси и географические глобусы сопоставимы.
Проверка поведения heightToZoomLevel вычислите приблизительный уровень масштабирования по высоте камеры.
Обратите внимание, что z и z2 равны.
Этот код определяет локальную функцию с именем zoomLevelToHeight аппроксимирует высоту камеры h для GeographicGlobe объект с использованием уровня зумирования z и широта центра карты lat из GeographicAxes объект.
Этот код определяет локальную функцию с именем heightToZoomLevel аппроксимирует уровень зумирования z для GeographicAxes объект с использованием высоты камеры h и широта lat из GeographicGlobe объект.