Можно показать все метки с метками времени в 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