2013-05-01 4 views
1

Возможно ли иметь интерактивные элементы (например, многоугольник, реагирующий на события перетаскивания и щелчка) в Google Планета Земля (мне особенно нужна Google Планета Земля, а не плагин Google Earth!) Документация не кажется полезной так как большая часть активности перемещается в сторону плагина, но в рассматриваемом проекте используется Google Earth. Я знаю, что у меня есть полный доступ к JavaScript и WebKit внутри воздушных шаров, но могу ли я использовать JavaScript для доступа к элементам KML и назначать им прослушиватели событий?Интерактивные элементы google earth

ОБНОВЛЕНИЕ: Предположим, что я хочу использовать Google Earth для управления веб-камерой. KML отобразит область поля зрения камеры. Я хотел бы иметь возможность перетаскивать эту область, иметь дескриптор JavaScript, который перетаскивает и вызывает веб-службу, которая соответственно поворачивала бы веб-камеру.

+0

Вы можете уточнить на других интерактивное поведении вы хотите ответить, кроме реагировать на щелчок или перетаскивать события в Google Earth ? – JasonM1

ответ

1

Непосредственно реагировать на события полигона и перетаскивания в Google Планета Земля (за исключением использования API и плагинов GE) не предлагает вам много вариантов. Использование GE API легко, но в клиенте Google Earth вы не можете напрямую реагировать на перемещение или перетаскивание метки. Кроме того, как только метка отправляется клиенту, его местоположение, если оно перемещено, не может быть доступно с помощью клиентского JavaScript и отправлено обратно на сервер.

В KML и Google Earth есть ряд интерактивных методов, некоторые из которых могут работать с тем, что вы пытаетесь сделать.

  • Вы можете обеспечить контроль или параметры конфигурации в HTML-форм в описании воздушных шарах, чтобы настроить отображение или изменить расположение веб-камеры:

    Для управления камерой вы могли бы показать вверх, вниз, влево, вправо кнопки (возможно, даже масштабирование или наклон) в описании воздушного шара и нажатие любой из этих кнопок, которые вызывают на вашем контроллере backend, чтобы переместить камеру. Результат действия может использовать NetworkLinkControl для обновления KML, уже загруженного в Google Планета Земля.

  • Вы можете рассмотреть NetworkLinks, которые определяют viewFormat с помощью службы генерации KML. Вы можете указать NetworkLink для обновления и отправки отчетов на серверную службу с информацией о просмотре/камере и/или другими параметрами клиентской стороны, если представление изменится. Вы можете реагировать на просмотр изменений (увеличение/уменьшение, панорамирование, наклон и т. Д.) И изменение состояния соответственно. Если вы дополнительно ограничите обновления NetworkLink с помощью onStop, вы можете предотвратить инкрементные обновления, когда пользователь находится в процессе перемещения, и только отправлять обновления обновления после того, как пользователь остановился, что, по-видимому, что-то ищет.

viewFormat даст вам доступ к следующим свойствам клиента в Google Earth:

[lookatLon], [lookatLat], [lookatRange], [lookatTilt], [lookatHeading] 
[lookatTerrainLon], [lookatTerrainLat], [lookatTerrainAlt] 
[cameraLon], [cameraLat], [cameraAlt] 
[horizFov], [vertFov] 
[horizPixels], [vertPixels] 
[terrainEnabled] 
+0

Предположим, я хочу использовать Google Earth для управления веб-камерой. KML отобразит область поля зрения камеры. Я хотел бы иметь возможность перетаскивать эту область, иметь дескриптор JavaScript, который перетаскивает и вызывает веб-службу, которая соответственно поворачивала бы веб-камеру. –

+0

Будет ли область камеры представлена ​​явным регионом на метке или границе геометрии многоугольника? GE не позволяет пользователю редактировать регион, а многоугольник может иметь не квадратные формы, поэтому важно, как конечный пользователь «перетаскивал» регион. У вас может быть значок в центральной точке обзора камеры на карте и просто перейти к новому местоположению. – JasonM1

+0

Я представлял себе многоугольник, представляющий поле зрения. Но любой вид перетаскиваемого визуального элемента был бы шагом в правильном направлении? –

Смежные вопросы