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) выбрав в меню Файл – Открыть.
Его также можно загрузить использую 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&v=2&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 на Картах Google.
Предварительно необходимо чтобы Ваш файл KML должен быть размещен на веб-сайте в Интернете.
С начала нужно зайти по адресу http://maps.google.ru/
Затем в строке поиска ввести адрес Вашего KML-файла в интернете, например, https://webmap-blog.ru/examples/kml/prim_kml_1.kml и нажать на кнопку «Поиск на карте».
Ваш KML-файл отобразиться на карте Google.
Продолжение следует…
Огромное спасибо! Понятно и подробно, сразу понятно все.
а есть еще примеры по использованию kml?
ДД!
Есть ли возможность использовать полученные kml файлы для интеграции c Nokia ovi maps?
Нашел небольшую заметку
Спасибо за статью! А вы не в курсе, почему обьявление в google places может не отображатся в выдаче? Вроде все сделано как надо…
kml файлы так же используются на публичной кадастровой карте Росреестра (см. справку) http://maps.rosreestr.ru/PortalOnline/help.html#10