вторник, 28 апреля 2009 г.

Формат файлов KML и его использование на картах Google. Введение.

KML (Keyhole Markup Language — язык разметки Keyhole) - это формат файлов, который используется отображения географических данных в программах Google Планета Земля, Карты Google и Карты Google для мобильных устройств.

KML использует основанную на тегах структуру с вложенными элементами и атрибутами и создан на основе стандарта XML.

Для создания файлов KML можно использовать программу Google Планета Земля (Google Earth), редактор XML или обычный текстовый редактор.

Файлы KML и связанные с ними изображения (при наличии) можно сжимать с помощью формата ZIP в архивы KMZ.

С помощью файлов KML можно:

  • устанавливать различные значки и делать подписи для обозначения мест на поверхности Земли,

  • создавать различные ракурсы для выбранных объектов, изменяя положение камеры,

  • использовать различные накладываемые изображения,

  • определять стили для настройки отображения объекта, применять код HTML для создания гиперссылок и встроенных изображений,

  • использовать папки для иерархической группировки элементов,

  • динамически получать и обновлять файлы KML из удаленных или локальных узлов сети,

  • получать данные KML в соответствии с изменениями в средстве трехмерного просмотра,

  • отображать текстурные трехмерные объекты COLLADA


В качестве объектов в файлах формата  KML могут быть использованы:

Метки (объект Placemark) – самый простой элемент, задает метку – обозначение положения на поверхности Земли с помощью значка в виде желтой кнопки.

Пути – линии определенной толщины и цвета

Многоугольники - определяется цвет линий и цвет подписи.

Изображения - накладываемые изображения поверхности Земли позволяют накладывать изображение на ландшафт Земли, могут быть перемещаемыми и масштабируемыми, так и не перемещаемыми, например, логотип.

Трёхмерная модель - позволяет подключать описание трёхмерных объектов (например, зданий и сооружений). Трёхмерную модель можно задать двумя способами: заданием высоты плоских фигур (вытягиванием) и ссылкой на полноценную модель в формате COLLADA (Google SketchUp).

Простейший пример файла KML.

<?xml version="1.0" standalone="yes"?>
<kml xmlns="http://earth.google.com/kml/2.1">
<Placemark>
<name>Дворец спорта</name>
<description>Дворец спорта «Нагорный» просп. Гагарина, 29</description>
<Point>
<coordinates>43.979459,56.291908,0 </coordinates>
</Point>
</Placemark>
</kml>


Опишу структуру этого файла.

Первая строка - заголовок XML. Это 1-я строка в каждом файле KML. Перед этой строкой не должно быть пробелов или символов.

Вторая строка – служит для объявления пространства имен KML. Это 2-я строка в каждом файле KML 2.1.

Объект Placemark, содержащий следующие элементы:

- name, ярлык, используемый для обозначения метки

- description, описание, появляющееся в окне комментария, прикрепленном к метке

- Point, указывает положение метки на поверхности Земли (долгота, широта и дополнительно высота).

Этот файл Вы можете загрузить в программе Google Планета Земля (Google Earth) выбрав в меню Файл – Открыть.

KML-файл в Google Earth

Его также можно загрузить использую API карт Google.

Код примера:

<!DOCTYPE html "-//W3C//DTD XHTML 1.0 Strict//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="content-type" content="text/html; charset=utf-8"/>

<title>Пример использования Google Earth на сайте</title>

<script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=ABQIAAAACHCJdlgAEGcD_flKUFEmVhT2yXp_ZAY8_ufC3CFXhHIE1NvwkxTeukKcKHF3ezmjTB0q6gzSBmoIUQ"

type="text/javascript"></script>

<script type="text/javascript">



function initialize() {if (GBrowserIsCompatible()) {geoXml = new GGeoXml("http://remont.cek.ru/xml/prim_kml_1.kml");

var map = new GMap2(document.getElementById("map_canvas"));

map.setCenter(new GLatLng(56.291908,43.979459), 15);

map.setMapType(G_SATELLITE_MAP);

map.addControl(new GSmallMapControl());

map.addControl(new GMapTypeControl());

map.addOverlay(geoXml);

}

}



</script></head>

<body onload="initialize()" onunload="GUnload()">

<div id="map_canvas" style="width: 500px; height: 300px"></div>

</body>

</html>



Если загрузить его в браузере мы увидим

KML-файл загрузка с помощью API карт Google

Вы также можете просмотреть файл KML на Картах Google.

Предварительно необходимо чтобы Ваш файл KML должен быть размещен на веб-сайте в Интернете.

С начала нужно зайти по адресу http://maps.google.ru/

Затем в строке поиска ввести адрес Вашего KML-файла в интернете, например, http://webmap-blog.ru/examples/kml/prim_kml_1.kml и нажать на кнопку «Поиск на карте».

Ваш KML-файл отобразиться на карте Google.

KML-файл загрузка на Картах Google

Продолжение следует...

Комментариев нет:

Отправить комментарий