Можно показать все метки с метками времени в Google Earth по умолчанию?
Я смотрю на создание меток KML с помощью метка элементы. Это само по себе довольно легко сделать, но мне не нравится поведение Google Earth, показывающее только небольшую полосу времени, когда KML изначально загружен. Я хотел бы, чтобы он показывал полный промежуток времени (и, следовательно, все метки) по умолчанию.
есть ли способ сделать это? Я не вижу никаких настроек в Google Earth или что-либо в документации KML для этого.
альтернатива я рассмотрение состоит в том, чтобы в основном дублировать каждую метку и иметь 1 набор с метками времени и 1 Без в отдельных папках. Папки будут использовать функцию выбора радио-кнопки. Я хотел бы избежать этого, если это возможно, поскольку KML потенциально может иметь тысячи меток и, похоже, является пустой тратой на дублирование узлов.
здесь пример отсюда источник у этого есть KML с метками, если вы хотите увидеть поведение, о котором я говорю из.
обновление: поведение, которое я вижу со слайдером времени, не по умолчанию для полного диапазона содержащихся меток KML, кажется, потому, что файл загружается через сетевую ссылку на локальный файл. Я не уверен, как контролировать поведение ползунка времени в этом случае. Я могу сделать ссылку "fly to view on refresh", которая правильно устанавливает ползунок времени, но я не хочу перемещать камеру на lat/long, так как я обновляю каждые 4 секунды.
1 ответов
по умолчанию Google Earth показывает полное время KML. Тем не менее, распространенная ситуация, когда несколько файлов KML открыты/видны со временем, когда Google Earth по умолчанию показывает полный диапазон времени самых ранних и последних раз в все функции KML. Кроме того, загрузка KML через NetworkLinks тут не показать полный рабочий день, как это делает открытие его непосредственно в Google Earth.
чтобы проиллюстрировать первый снимите флажок сохраненные места для отключения другие KML со временем затем загрузить этот файл KML. Вы заметите временную шкалу, показывающую с 1787 по 1959 год для ее полного диапазона. https://developers.google.com/kml/documentation/us_states.kml
если вы хотите предварительно определить диапазон времени, вы можете явно добавить камера или посмотреть это ограничивает представление времени. Например, чтобы ограничить представление до первых 100 лет, вы можете добавить <gx:TimeSpan>
элемент с диапазоном в корневой элемент в KML. Не забудьте включить элементы lat/lon/range, иначе представление по умолчанию будет lat=0, lon=0, range=0.
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2" xmlns:gx="http://www.google.com/kml/ext/2.2">
<Document>
....
<LookAt>
<gx:TimeSpan>
<begin>1787</begin>
<end>1887</end>
</gx:TimeSpan>
<longitude>-95.71</longitude>
<latitude>37.09</latitude>
<range>4119625</range>
...
</LookAt>
...
</Document>
</kml>
если вы щелкните правой кнопкой мыши по метке или папке, затем выберите "вид снимка" в Google Earth, и ползунок таймера будет виден, то временной диапазон будет захвачен в сохраненном виде.
таким образом, вы можете делать то, что хотите, не дублируя метки со временем, но создавая несколько меток, определенных только с видом, ограниченным временем диапазон. Щелчок каждой из этих специальных меток изменит ползунок времени на любой диапазон времени, который вы хотите показать.
KML функции со временем извлекается через Networklinks имеют другое поведение, и только часть диапазона времени предварительно выбрана в ползунке времени. Вы должны добавить flyToView к NetworkLink, чтобы он вел себя так же, как загрузка KML напрямую.
<NetworkLink>
<flyToView>1</flyToView>
<Link>
<href>...</href>
</Link>
</NetworkLink>
как лучшая практика, если вы включаете больше чем одна сетевая ссылка с функциями на основе времени в Родительском файле KML, затем добавьте <TimeSpan>
элемент для сетевых ссылок, включая полный диапазон времени для этой коллекции функций, в противном случае Google Earth автоматически загрузит весь файл при запуске.
<NetworkLink>
<TimeSpan>
<begin>1787</begin>
<end>1887</end>
</TimeSpan>
<flyToView>1</flyToView>
<Link>
<href>...</href>
</Link>
</NetworkLink>
References:
https://developers.google.com/kml/documentation/kmlreference#timespan
https://developers.google.com/kml/documentation/kmlreference#gxtimespan