Как открыть kml в google maps
Руководство по KML
KML – это формат файлов, который используется для отображения географических данных в геобраузерах, таких как Google Планета Земля, Google Карты и Google Карты для мобильных устройств. KML создан на основе стандарта XML и использует основанную на тегах структуру с вложенными элементами и атрибутами. Регистр тегов учитывается, поэтому их необходимо указывать точно в той форме, в какой они приведены в Справке по KML, где также указано, какие теги обязательны, а какие – нет. Теги внутри элемента должны располагаться в том порядке, который приведен в Справке.
Если вы никогда не работали с KML, начните с изучения этой страницы и прилагаемых файлов с примерами (SamplesInEarth и SamplesInMaps), чтобы ознакомиться со структурой KML-файла и основными тегами. В первом разделе описаны компоненты, которые можно создать в пользовательском интерфейсе Google Планеты Земля, включая метки, описания, наложения на земную поверхность, пути и многоугольники. Во втором разделе описаны компоненты, для определения которых потребуется текстовый редактор. Текстовый файл, сохраненный с расширением .kml или .kmz, распознается геобраузерами.

Совет. Чтобы получить KML-код компонента из Google Планеты Земля, нажмите на него правой кнопкой мыши в окне 3D-просмотра и выберите «Копировать», а затем вставьте содержание буфера обмена в любой текстовый редактор. Компонент, отображаемый в геобраузере, будет преобразован в KML-код. Рекомендуем попробовать эту функцию в действии.
Все примеры, которые приводятся на этой странице, можно найти в файле KML_Samples. Прежде чем продолжать, загрузите его, чтобы просматривать примеры в интерфейсе Google Планеты Земля.
Дополнительная информация
В Справке по KML 2.2 формат KML описан более подробно. Если вы уже работали с XML-кодом, рекомендуем ознакомиться со схемой KML 2.2.
Инструкции по применению отдельных компонентов KML можно найти в Руководстве разработчика.
Содержание
Простые KML-документы
Самые простые KML-документы можно создавать прямо в интерфейсе Google Планеты Земля; для этого даже не потребуется текстовый редактор. Таким способом можно создавать и изменять метки, наложения на земную поверхность, пути и многоугольники.
Метки
Метка является одним из самых часто используемых компонентов в Google Планете Земля. Она служит для указания положения на земной поверхности и представлена значком булавки желтого цвета. В самом простом варианте метка содержит только элемент
, который определяет ее положение. Вы также можете указать ее название и персонализированный значок или добавить другие элементы.
Откройте файл KML_Samples в Google Планете Земля и перейдите в папку Placemarks. В ней представлены три типа меток: проcтая, плавающая и выдавленная. Ниже показан KML-код простой метки.
Рассмотрим структуру этого файла.
Если вы не можете найти эту метку на карте, подсказываем: она расположена прямо на 41-м корпусе Google – именно там разрабатывалась Google Планета Земля.
То, что пользователи Google Планеты Земля видят как метку, является элементом
с дочерним элементом
в формате KML. Это единственный способ отобразить метку с ярлыком в окне 3D-просмотра. По умолчанию метка имеет вид уже знакомой вам желтой булавки. В KML-коде элемент
может содержать один или несколько геометрических элементов, таких как ломаные линии (LineString), многоугольники (Polygon) или модели (Model), но только
с дочерним элементом
может отображаться как метка с ярлыком. Элемент
служит для правильного размещения метки на карте, но сам не имеет графического представления.
Описательный HTML в метках
В файле KML_Samples приведены исчерпывающие примеры форматирования текста метки, включая добавление ссылок, изменение размера и стиля шрифта, выравнивание и использование таблиц. Чтобы просмотреть полный список возможностей, скопируйте и вставьте в текстовый редактор пример Descriptive HTML (в папке Styles and Markup).
Авторазметка в Google Планете Земля 4.0 и более поздних версий
Использование элемента CDATA
Теперь посмотрим, как оформляется без тегов CDATA.
Наложения на земную поверхность
Наложения на земную поверхность позволяют «накрыть» рельеф местности определенным изображением. Элемент содержит ссылку на JPG-файл изображения. Ниже приведен пример из файла KML_Samples, показывающий извержение Этны в 2001 году.
Обратите внимание на то, что первые две строки файла точно такие же, как в первом примере: XML-заголовок и декларация пространства имен KML.
Для группировки и обозначения содержания в примере используется папка Ground Overlays. Обратите внимание на то, что она появляется в панели «Метки», как только вы загружаете файл KML_Samples в Google Планету Земля.
Наложения на экране
В отличие от наложений на земную поверхность, наложения на экране нельзя создавать в интерфейсе Google Планеты Земля. Примеры можно найти в папке Screen Overlays файла KML_Samples.
В качестве иллюстрации включите папку Absolute Positioning: Top left файла KML_Samples. В левом верхнем углу окна просмотра появится наложение. Ниже показан его KML-код.
Просмотрите другие примеры в папке, чтобы лучше понять принцип определения фиксированных изображений и изображений, размер которых меняется в зависимости от размера экрана. Обратите внимание на то, что для большей точности вместо xunits и yunits можно использовать пиксели. Подробные сведения приведены в Справке по KML 2.2.
Сетевые ссылки
Элемент может указывать на расположение любого из следующих файлов:
Такой файл может располагаться локально или на удаленном сервере. В самом простом варианте сетевые ссылки помогают разделить крупный KML-файл на несколько меньших файлов на одном и том же компьютере, чтобы с ними было удобнее работать.
До сих пор мы рассматривали только случаи, в которых KML-код передается в Google Планету Земля с локального компьютера. Сетевые ссылки позволяют получать содержание с удаленных серверов и, как правило, используются для предоставления данных большому количеству пользователей. Таким образом, если в содержание необходимо внести изменения, достаточно сделать это в файле источника, и все пользователи автоматически увидят обновленную версию.
CGI-скрипты для KML
Элемент сетевой ссылки может не только указывать на файлы со статическими данными, но и на динамическое содержание, генерируемое, например, CGI-скриптом на сетевом сервере. При наличии базовых навыков программирования программирования на языках PHP, Python или Perl вы сможете написать скрипт для передачи потоковых данных (или файлов) в формате KML по сетевым ссылкам.
Чтобы передавать KML-код с помощью сетевого CGI-скрипта, должны выполняться два условия.
Когда клиент (Google Планета Земля) отправляет запрос на сервер, сервер должен, во-первых, возвратить код ответа HTTP 200, а во-вторых, предоставить содержание типа text/plain или application/vnd.google-earth.kml+xml.
Ответ должен содержать действительный KML-код. Чем сложнее приложение, тем важнее предусмотреть правильную обработку ошибок.
В примерах ниже используется Python, однако то же самое можно написать на любом другом языке.
Создание случайной метки
Ниже показан скрипт на языке Python, генерирующий случайные значения широты (latitude) и долготы (longitude) и добавляющий их в элемент элемента
. При обновлении сетевой ссылки скрипт запускается снова и генерирует KML-код с новыми значениями широты и долготы.
Теперь рассмотрим пример KML-файла с сетевой ссылкой, по которой загружается скрипт Python.
Запросы на обновление при просмотре
Стандартная сетевая ссылка работает только в одном направлении: данные поступают с севера в Google Планету Земля. Обновление при просмотре позволяет передавать данные в обоих направлениях, причем Google Планета Земля в определенный момент времени возвращает серверу координаты области просмотра. Это может происходить каждые n секунд, минут или часов либо по истечении определенного времени после того, как область просмотра перестала смещаться. Подробные сведения приведены в разделе Справки по KML 2.2.
Координаты возвращаются серверу с помощью метода HTTP GET, который добавляет их в следующем виде (показана информация в заданном квадрате поиска):
Если запрос выполняется в тот момент, когда пользователь рассматривает область Сан-Франциско, координаты могут выглядеть так:
Эту функцию можно использовать для самых разных целей, однако для начала рассмотрим простой пример.
Определение точки в центре области просмотра
Ниже показан выполняемый на стороне сервера скрипт Python, который анализирует сообщение, возвращаемое Google Планетой Земля, и в ответ размещает метку в центре экрана. Новая метка генерируется при каждом обновлении сетевой ссылки.
А так выглядит KML-код сетевой ссылки, которая загружает показанный выше скрипт:
Этот принцип можно использовать и для более сложных задач. Например, если у вас есть база данных с географической информацией, можно получить координаты области просмотра, отправить в базу данных запрос на информацию об этой области и в ответ передать в Google Планету Земля KML-код.
Типы MIME в KML
Когда KML-сервер отвечает на запрос Google Планеты Земля (или любого другого геобраузера), должен быть соблюден ряд правил, иначе геобраузер не сможет правильно интерпретировать ответ.
В случае успеха сервер должен возвратить код ответа HTTP 200 и указать для содержания ответа подходящий тип MIME, как описано ниже.
Google Планета Земля поддерживает файлы в форматах KML и KMZ. Для KML-файлов необходимо указать следующий тип MIME:
Для KMZ-файлов необходимо указать следующий тип MIME:
Если используется сервер Apache, добавьте в файл httpd.conf следующие строки:
Инструкции по настройке типов MIME в службе Microsoft IIS можно найти в документации Microsoft.
Тело ответа должно содержать действительный KML-код, включая декларацию XML ( ). Если сервер возвратит недействительный KML-код, передача данных по сетевой ссылке будет прекращена, ссылка будет деактивирована, и будет показано сообщение об ошибке.
Дополнительные ресурсы
Подробные сведения об основных компонентах KML можно найти в Руководстве разработчика, а информацию об отдельных элементах – в Справке по KML.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Открываем формат KML
Формат KML является расширением, в котором сохраняются географические данные объектов в программе Google Earth. К такой информации относятся метки на карте, произвольный участок в виде многоугольника или линий, трехмерная модель и изображение части карты.
Просмотр файла KML
Рассмотрим приложения, которые взаимодействуют с данным форматом.
Google Earth
Google Earth – одно из наиболее популярных на сегодняшний день картографических приложений.
Интерфейс программы с указанием местоположения в виде метки.
Блокнот
Блокнот — встроенное приложение Windows для создания текстовых документов. Может также выступать в роли редактора кода определенных форматов.
Визуальное отображение содержимого файла в Блокноте.
Можно сказать, что расширение KML имеет малое распространение, и используется исключительно в Google Earth, а просмотр такого файла через Блокнот мало кому будет полезен.
Помимо этой статьи, на сайте еще 12520 инструкций.
Добавьте сайт Lumpics.ru в закладки (CTRL+D) и мы точно еще пригодимся вам.
Отблагодарите автора, поделитесь статьей в социальных сетях.
Руководство по KML
KML – это формат файлов, который используется для отображения географических данных в геобраузерах, таких как Google Планета Земля, Google Карты и Google Карты для мобильных устройств. KML создан на основе стандарта XML и использует основанную на тегах структуру с вложенными элементами и атрибутами. Регистр тегов учитывается, поэтому их необходимо указывать точно в той форме, в какой они приведены в Справке по KML, где также указано, какие теги обязательны, а какие – нет. Теги внутри элемента должны располагаться в том порядке, который приведен в Справке.
Если вы никогда не работали с KML, начните с изучения этой страницы и прилагаемых файлов с примерами (SamplesInEarth и SamplesInMaps), чтобы ознакомиться со структурой KML-файла и основными тегами. В первом разделе описаны компоненты, которые можно создать в пользовательском интерфейсе Google Планеты Земля, включая метки, описания, наложения на земную поверхность, пути и многоугольники. Во втором разделе описаны компоненты, для определения которых потребуется текстовый редактор. Текстовый файл, сохраненный с расширением .kml или .kmz, распознается геобраузерами.

Совет. Чтобы получить KML-код компонента из Google Планеты Земля, нажмите на него правой кнопкой мыши в окне 3D-просмотра и выберите «Копировать», а затем вставьте содержание буфера обмена в любой текстовый редактор. Компонент, отображаемый в геобраузере, будет преобразован в KML-код. Рекомендуем попробовать эту функцию в действии.
Все примеры, которые приводятся на этой странице, можно найти в файле KML_Samples. Прежде чем продолжать, загрузите его, чтобы просматривать примеры в интерфейсе Google Планеты Земля.
Дополнительная информация
В Справке по KML 2.2 формат KML описан более подробно. Если вы уже работали с XML-кодом, рекомендуем ознакомиться со схемой KML 2.2.
Инструкции по применению отдельных компонентов KML можно найти в Руководстве разработчика.
Содержание
Простые KML-документы
Самые простые KML-документы можно создавать прямо в интерфейсе Google Планеты Земля; для этого даже не потребуется текстовый редактор. Таким способом можно создавать и изменять метки, наложения на земную поверхность, пути и многоугольники.
Метки
Метка является одним из самых часто используемых компонентов в Google Планете Земля. Она служит для указания положения на земной поверхности и представлена значком булавки желтого цвета. В самом простом варианте метка содержит только элемент
, который определяет ее положение. Вы также можете указать ее название и персонализированный значок или добавить другие элементы.
Откройте файл KML_Samples в Google Планете Земля и перейдите в папку Placemarks. В ней представлены три типа меток: проcтая, плавающая и выдавленная. Ниже показан KML-код простой метки.
Рассмотрим структуру этого файла.
Если вы не можете найти эту метку на карте, подсказываем: она расположена прямо на 41-м корпусе Google – именно там разрабатывалась Google Планета Земля.
То, что пользователи Google Планеты Земля видят как метку, является элементом
с дочерним элементом
в формате KML. Это единственный способ отобразить метку с ярлыком в окне 3D-просмотра. По умолчанию метка имеет вид уже знакомой вам желтой булавки. В KML-коде элемент
может содержать один или несколько геометрических элементов, таких как ломаные линии (LineString), многоугольники (Polygon) или модели (Model), но только
с дочерним элементом
может отображаться как метка с ярлыком. Элемент
служит для правильного размещения метки на карте, но сам не имеет графического представления.
Описательный HTML в метках
В файле KML_Samples приведены исчерпывающие примеры форматирования текста метки, включая добавление ссылок, изменение размера и стиля шрифта, выравнивание и использование таблиц. Чтобы просмотреть полный список возможностей, скопируйте и вставьте в текстовый редактор пример Descriptive HTML (в папке Styles and Markup).
Авторазметка в Google Планете Земля 4.0 и более поздних версий
Использование элемента CDATA
Теперь посмотрим, как оформляется без тегов CDATA.
Наложения на земную поверхность
Наложения на земную поверхность позволяют «накрыть» рельеф местности определенным изображением. Элемент содержит ссылку на JPG-файл изображения. Ниже приведен пример из файла KML_Samples, показывающий извержение Этны в 2001 году.
Обратите внимание на то, что первые две строки файла точно такие же, как в первом примере: XML-заголовок и декларация пространства имен KML.
Для группировки и обозначения содержания в примере используется папка Ground Overlays. Обратите внимание на то, что она появляется в панели «Метки», как только вы загружаете файл KML_Samples в Google Планету Земля.
Наложения на экране
В отличие от наложений на земную поверхность, наложения на экране нельзя создавать в интерфейсе Google Планеты Земля. Примеры можно найти в папке Screen Overlays файла KML_Samples.
В качестве иллюстрации включите папку Absolute Positioning: Top left файла KML_Samples. В левом верхнем углу окна просмотра появится наложение. Ниже показан его KML-код.
Просмотрите другие примеры в папке, чтобы лучше понять принцип определения фиксированных изображений и изображений, размер которых меняется в зависимости от размера экрана. Обратите внимание на то, что для большей точности вместо xunits и yunits можно использовать пиксели. Подробные сведения приведены в Справке по KML 2.2.
Сетевые ссылки
Элемент может указывать на расположение любого из следующих файлов:
Такой файл может располагаться локально или на удаленном сервере. В самом простом варианте сетевые ссылки помогают разделить крупный KML-файл на несколько меньших файлов на одном и том же компьютере, чтобы с ними было удобнее работать.
До сих пор мы рассматривали только случаи, в которых KML-код передается в Google Планету Земля с локального компьютера. Сетевые ссылки позволяют получать содержание с удаленных серверов и, как правило, используются для предоставления данных большому количеству пользователей. Таким образом, если в содержание необходимо внести изменения, достаточно сделать это в файле источника, и все пользователи автоматически увидят обновленную версию.
CGI-скрипты для KML
Элемент сетевой ссылки может не только указывать на файлы со статическими данными, но и на динамическое содержание, генерируемое, например, CGI-скриптом на сетевом сервере. При наличии базовых навыков программирования программирования на языках PHP, Python или Perl вы сможете написать скрипт для передачи потоковых данных (или файлов) в формате KML по сетевым ссылкам.
Чтобы передавать KML-код с помощью сетевого CGI-скрипта, должны выполняться два условия.
Когда клиент (Google Планета Земля) отправляет запрос на сервер, сервер должен, во-первых, возвратить код ответа HTTP 200, а во-вторых, предоставить содержание типа text/plain или application/vnd.google-earth.kml+xml.
Ответ должен содержать действительный KML-код. Чем сложнее приложение, тем важнее предусмотреть правильную обработку ошибок.
В примерах ниже используется Python, однако то же самое можно написать на любом другом языке.
Создание случайной метки
Ниже показан скрипт на языке Python, генерирующий случайные значения широты (latitude) и долготы (longitude) и добавляющий их в элемент элемента
. При обновлении сетевой ссылки скрипт запускается снова и генерирует KML-код с новыми значениями широты и долготы.
Теперь рассмотрим пример KML-файла с сетевой ссылкой, по которой загружается скрипт Python.
Запросы на обновление при просмотре
Стандартная сетевая ссылка работает только в одном направлении: данные поступают с севера в Google Планету Земля. Обновление при просмотре позволяет передавать данные в обоих направлениях, причем Google Планета Земля в определенный момент времени возвращает серверу координаты области просмотра. Это может происходить каждые n секунд, минут или часов либо по истечении определенного времени после того, как область просмотра перестала смещаться. Подробные сведения приведены в разделе Справки по KML 2.2.
Координаты возвращаются серверу с помощью метода HTTP GET, который добавляет их в следующем виде (показана информация в заданном квадрате поиска):
Если запрос выполняется в тот момент, когда пользователь рассматривает область Сан-Франциско, координаты могут выглядеть так:
Эту функцию можно использовать для самых разных целей, однако для начала рассмотрим простой пример.
Определение точки в центре области просмотра
Ниже показан выполняемый на стороне сервера скрипт Python, который анализирует сообщение, возвращаемое Google Планетой Земля, и в ответ размещает метку в центре экрана. Новая метка генерируется при каждом обновлении сетевой ссылки.
А так выглядит KML-код сетевой ссылки, которая загружает показанный выше скрипт:
Этот принцип можно использовать и для более сложных задач. Например, если у вас есть база данных с географической информацией, можно получить координаты области просмотра, отправить в базу данных запрос на информацию об этой области и в ответ передать в Google Планету Земля KML-код.
Типы MIME в KML
Когда KML-сервер отвечает на запрос Google Планеты Земля (или любого другого геобраузера), должен быть соблюден ряд правил, иначе геобраузер не сможет правильно интерпретировать ответ.
В случае успеха сервер должен возвратить код ответа HTTP 200 и указать для содержания ответа подходящий тип MIME, как описано ниже.
Google Планета Земля поддерживает файлы в форматах KML и KMZ. Для KML-файлов необходимо указать следующий тип MIME:
Для KMZ-файлов необходимо указать следующий тип MIME:
Если используется сервер Apache, добавьте в файл httpd.conf следующие строки:
Инструкции по настройке типов MIME в службе Microsoft IIS можно найти в документации Microsoft.
Тело ответа должно содержать действительный KML-код, включая декларацию XML ( ). Если сервер возвратит недействительный KML-код, передача данных по сетевой ссылке будет прекращена, ссылка будет деактивирована, и будет показано сообщение об ошибке.
Дополнительные ресурсы
Подробные сведения об основных компонентах KML можно найти в Руководстве разработчика, а информацию об отдельных элементах – в Справке по KML.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Формат файлов KML и его использование на картах Google. Введение.
KML (Keyhole Markup Language — язык разметки Keyhole) — это формат файлов, который используется отображения географических данных в программах Google Планета Земля, Карты Google и Карты Google для мобильных устройств.
KML использует основанную на тегах структуру с вложенными элементами и атрибутами и создан на основе стандарта XML.
Для создания файлов KML можно использовать программу Google Планета Земля (Google Earth), редактор XML или обычный текстовый редактор.
Файлы KML и связанные с ними изображения (при наличии) можно сжимать с помощью формата ZIP в архивы KMZ.
С помощью файлов KML можно:
В качестве объектов в файлах формата KML могут быть использованы:
Метки (объект Placemark) – самый простой элемент, задает метку – обозначение положения на поверхности Земли с помощью значка в виде желтой кнопки.
Пути – линии определенной толщины и цвета
Многоугольники — определяется цвет линий и цвет подписи.
Изображения — накладываемые изображения поверхности Земли позволяют накладывать изображение на ландшафт Земли, могут быть перемещаемыми и масштабируемыми, так и не перемещаемыми, например, логотип.
Трёхмерная модель — позволяет подключать описание трёхмерных объектов (например, зданий и сооружений). Трёхмерную модель можно задать двумя способами: заданием высоты плоских фигур (вытягиванием) и ссылкой на полноценную модель в формате COLLADA (Google SketchUp).
Простейший пример файла KML.
Дворец спорта
Дворец спорта «Нагорный» просп. Гагарина, 29
Опишу структуру этого файла.
Первая строка — заголовок XML. Это 1-я строка в каждом файле KML. Перед этой строкой не должно быть пробелов или символов.
Вторая строка – служит для объявления пространства имен KML. Это 2-я строка в каждом файле KML 2.1.
Объект Placemark, содержащий следующие элементы:
— name, ярлык, используемый для обозначения метки
— description, описание, появляющееся в окне комментария, прикрепленном к метке
— Point, указывает положение метки на поверхности Земли (долгота, широта и дополнительно высота).
Этот файл Вы можете загрузить в программе Google Планета Земля (Google Earth) выбрав в меню Файл – Открыть.
Его также можно загрузить использую API карт Google.
Пример использования Google Earth на сайте







