Карта Земли WebGL в 2D, а не в 3D? - PullRequest
0 голосов
/ 22 февраля 2019

Есть ли простой способ отобразить глобус Земли WebGL в виде 2D-карты?У меня есть функциональный пользовательский интерфейс, который использует WebGL Earth, но начинает казаться, что 2D будет работать лучше для общих случаев использования, поэтому я надеялся, что был простой способ заставить карту отображаться в 2D, а не в 3D.

Я видел в Цезии, что вы можете переключать отображение глобуса между 3D или 2D (или даже «2.5D»), но пока я не понимаю, как заставить WebGL Earth использовать эту способность (мойПонимание состоит в том, что WebGL Earth работает на Цезии), и я не мог найти много от поиска онлайнЯ хотел бы избежать переписывания кода пользовательского интерфейса с использованием системы 2D-карт, такой как Leaflet, если это возможно.

Любая помощь будет принята с благодарностью!

РЕДАКТИРОВАТЬ (дополнительная информация):

WebGL Earth 2.4.2: github.com / webglearth / webglearth2 / tree / v2.4.2

Код используется для составления общей карты мира, гдепользователь размещает значки (маленькие 2d плоскости) и добавляет к ним радиоприемники.Затем он используется для моделирования радио-взаимодействий между плоскостями на различных расстояниях (пользователь может добавить скорости к самолетам или конкретные данные для передачи по этим радио).

примеры кода

создание объекта карты:

var options = { zoom: 0, position: [30,-130] };
earth = new WE.map('earthDiv', options);
WE.tileLayer(window.location.origin + '/map/bluemarble/{z}/{x}/{y}.png',
{
  tileSize: 256,
  bounds: [[-85, -180], [85, 180]],
  minZoom: 0,
  maxZoom: 8,
  tms: true
}).addTo(earth);

создание / размещение / вращение значка плоскости:

var myMarker = new WE.marker([this.latitude, this.longitude], img, width, height);
myMarker.addTo(earth);
.
.
.
var child = myMarker.element.getElementsByClassName("we-pm-icon");
$(child).css("transform", "rotate("+headingAngle+"deg)");
...