В этой заметке мы продолжаем изучать формат файлов KML начатый в заметке «Формат файлов KML и его использование на картах Google. Введение».
В этой заметке мы рассмотрим как можно задавать в файле KML несколько географических объектов и задавать стили для их отображения.
Давайте рассмотрим это на конкретном примере.
Привожу часть кода KML-файла:
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Document>
<name>Кинотеатры Нижнего Новгорода</name>
<description>Местоположение кинотеатров Нижнего Новгорода на GoogleMaps</description>
<Style id="kino_st">
<IconStyle>
<scale>1.2</scale>
<Icon>
<href>http://maps.google.com/mapfiles/kml/pal2/icon30.png</href>
</Icon>
<hotSpot x="0.5" y="0" xunits="fraction" yunits="fraction"/>
</IconStyle>
<BalloonStyle>
<text>$[description]</text>
</BalloonStyle>
</Style>
<Placemark>
<name>Кинотеатр Импульс</name>
<description>
<![CDATA[
<div style="text-align:center"><strong>Кинотеатр Импульс</strong><br /><a href="http://www.map.cek.ru/index.php?option=com_content&view=article&id=25&Itemid=136" target="blank"><img src="http://www.map.cek.ru/images/stories/afisha/cinema/imp.jpg" alt="Информация о кинотеатре Импульс с афишой фильмов" title="Информация о кинотеатре Импульс с афишой фильмов" width="100" height="62" /></a><br />пр. Гагарина, 192</div>
]]>
</description>
<styleUrl>#kino_st</styleUrl>
<Point>
<altitudeMode>relativeToGround</altitudeMode>
<coordinates>43.959184,56.237457,0</coordinates>
</Point>
</Placemark>
…..
<Placemark>
<name>Кинотеатр Электрон</name>
<description>
<![CDATA[
<div style="text-align:center"><strong>Кинотеатр Электрон</strong><br /><a href="http://www.map.cek.ru/index.php?option=com_content&view=article&id=31&Itemid=146" target="blank"><img src="http://www.map.cek.ru/images/stories/afisha/cinema/elektron.jpg" alt="Информация о кинотеатре Электрон с афишой фильмов" title="Информация о кинотеатре Электрон с афишой фильмов" width="100" height="62" /></a><br />пр. Гагарина, 98</div>
]]>
</description>
<styleUrl>#kino_st</styleUrl>
<Point>
<altitudeMode>relativeToGround</altitudeMode>
<coordinates>43.978839,56.274389,0</coordinates>
</Point>
</Placemark>
</Document>
</kml>
Полный текст файла можно загрузить http://webmap-blog.ru/examples/kml/primer_kml_2.km.
Что же мы видим нового в этом примере?
Здесь появился новый тег <Document>.
Внутрь него помещается все содержимое kml-файла.
Затем мы указываем имя и описание создаваемого документа.
В файле kml возможно задание стилей для отображения элементов на карте.
Если мы определяем стиль в начале документа, тогда мы можем использовать его для последующих элементов.
В нашем примере мы определяем стиль с идентификатором kino_st.
Внутри него мы задаем стиль для значка метки IconStyle и для балуна BalloonStyle.
Параметр scale задает масштаб значка метки.
<Icon> <href> - указывают на файл с изображением значка, в нашем случае icon30.png.
Параметр hotspot задает отступы от координат точки метки для изображнеия по х и по y.
Для стиля балуна мы указаваем, что это будет текст параметра description.
После задания стиля идет список меток на карте с параметрами.
В нашем примере это перечень кинотеатров Нижнего Новгорода.
Каждая метка заключена в парный тег <Placemark>.
Для которой задается название name, описание description, которое будет появлятся в балуне при щелчке по метке.
Стиль отображения и координаты точки.
Для написания HTML-кода внутри тега <description> его помещают внутрь тега CDATA.
Тег <altitudeMode> служит для задания наземного режима отображения.
В Google Earth 5.0 появилась возможность работы с новыми режимами – Окен и Космическое пространство.
Посмотреть работающий пример и исходный код можно здесь.
Подробнее о формате KML можно узнать по адресу http://code.google.com/intl/ru_ALL/apis/kml/documentation/
Продолжение следует …
Комментариев нет:
Отправить комментарий