Как загрузить информацию о долготе и широте в цезий kmlDataSource? - PullRequest
0 голосов
/ 18 апреля 2020

Я хочу отобразить файл kml в цезии глобус , и, как описано в цезиевом мастерском коде , нам нужно загрузить файл, передав его с указанием местоположения файла (или URL). Следующая строка кода - это указанная c строка кода, в которой цезий загружает кмл.

var geocachePromise = Cesium.KmlDataSource.load('./Source/SampleData/sampleGeocacheLocations.kml', kmlOptions);

Весь код доступен здесь

Мой вопрос : У меня есть информация о долготе и широте (и высоте), сохраненная в переменных, и вместо того, чтобы всегда сохранять их в файл .kml и затем загружать их через папку, я хочу передать эту информацию непосредственно в caesium kmlDataSource (код выше).

Было бы замечательно, если бы у кого-то было какое-то решение для этого. Пожалуйста, дайте мне знать, если требуется дополнительная информация или снимок кода. Спасибо

1 Ответ

0 голосов
/ 27 апреля 2020

Если у вас уже есть необходимая информация, хранящаяся в переменных JavaScript, нет необходимости экспортировать ее в KML и импортировать обратно в Cesium. Вы можете напрямую добавить нужные вам индикаторы в качестве Cesium Entities, что и создает загрузчик KML, когда он читает KML.

Как правило, KML-подобный вывод представлен Cesium Entity, содержащим либо point или billboard и, возможно, связанный label.

Вот некоторые соответствующие демонстрации, которые показывают, как это делается:

Каждая из этих демонстраций вызывает viewer.entities.add({ ... }) вместе с позицией для сущности и какой-либо графической индикации для отображения пользователю. Вы можете поместить по одному на каждый объект, например, billboard и label часто определяются при добавлении типичного объекта, подобного KML.

Однако, если ваши данные хранятся на сервере, вам понадобится какой-то механизм для потоковой передачи в браузер. CZML является родным форматом для этого, но KML также доступен в качестве альтернативы для определенных видов графики. Вы также можете использовать любой API своего собственного дизайна и создавать объекты, когда данные станут доступны в JavaScript.

...