Формат файлов 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

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

Tags: ,
  • Гость: Огромное спасибо! Понятно и подробно, сразу понятно все.
  • Гость: а есть еще примеры по использованию kml?
  • Гость: ДД! Есть ли возможность использовать полученные kml файлы для интеграции c Nokia ovi maps?
  • Гость: Нашел небольшую <a href="http://saygak.com/post/810" title="Как перекинуть POI из GoogleMaps в Nokia Maps" target="_blank" rel="nofollow">заметку</a>
  • Гость: Спасибо за статью! А вы не в курсе, почему обьявление в google places может не отображатся в выдаче? Вроде все сделано как надо...
  • Гость: kml файлы так же используются на публичной кадастровой карте Росреестра (см. справку) http://maps.rosreestr.ru/PortalOnline/help.html#10