17.07.2009 18:22

 

KML - Стили и их свойства при создании меток.

После ознакомления с этим уроком Вы  сможете создавать метки с различными ярлычками и исчезающими заголовками, как на представленном ниже скриншоте.

 

Для начала рассмотрим "Карту стилей" - <StyleMap>
Синтаксис таков
<StyleMap id="ИМЯ_КАРТЫ_СТИЛЕЙ">
<Pair id="ID1">
<key>normal</key>                                             <!-- kml:Варианты:  normal или highlight -->
<styleUrl>#ИМЯ_НЕАКТИВНОГО_СТИЛЯ</styleUrl>
<!-- или <Style>http://myserver.com/populationProject.xml#ИМЯ_НЕАКТИВНОГО_СТИЛЯ</Style> -->
</Pair>
<Pair id="ID2">
<key>highlight</key>                                      <!-- kml:Варианты:  normal or highlight -->
<styleUrl>#ИМЯ_АКТИВНОГО_СТИЛЯ</styleUrl>
<!-- или <Style>http://myserver.com/populationProject.xml#ИМЯ_АКТИВНОГО_СТИЛЯ</Style> -->
</Pair>
</StyleMap>

здесь внутри тегов <StyleMap></StyleMap> находится описание поведения графических объектов при наведении на них указателя мыши.
Выбор стиля отображения осуществляется на основе выбора одного из ключей заключенных в теги <Pair></Pair>
где, ключ для неактивного стиля
<Pair id="ID1">
<key>normal</key> <!-- kml:Варианты:  normal или highlight -->
<styleUrl>#ИМЯ_НЕАКТИВНОГО_СТИЛЯ</styleUrl> <!-- или <Style>http://myserver.com/populationProject.xml#ИМЯ_НЕАКТИВНОГО_СТИЛЯ</Style> -->
</Pair>

, где <key>normal</key> идентифицирует ссылку на стиль как ссылку для неактивного состояния

и где, ключ для активного стиля
<Pair id="ID2">
<key>highlight</key> <!-- kml:Варианты:  normal or highlight -->
<styleUrl>#ИМЯ_АКТИВНОГО_СТИЛЯ</styleUrl> <!-- или <Style>http://myserver.com/populationProject.xml#ИМЯ_АКТИВНОГО_СТИЛЯ</Style> -->
</Pair>

, где <key>highlight</key> идентифицирует ссылку на стиль как ссылку для активного состояния

как Вы наверно заметили вместо ссылки на стиль в текущем файле можно сослаться на стиль описанный в другом файле, и вместо
<styleUrl>#ИМЯ_СТИЛЯ</styleUrl>
использовать
<styleUrl>http://myserver.com/populationProject.xml#ИМЯ_СТИЛЯ</styleUrl>

Синтаксис описания самого стиля выглядит так:
<Style id="ИМЯ_СТИЛЯ">
<IconStyle id>...</IconStyle>             <!-- Описывает иконку, ее размер, цвет -->
<LabelStyle id>...</LabelStyle>           <!-- Описывает текст опображающийся вмести с иконкой, ее размер и цвет -->
<LineStyle id>...</LineStyle>              <!-- Описывает свойства отображения линий, ее ширину и цвет -->
<PolyStyle id>...</PolyStyle>              <!-- Описывает свойства отображения полигонов, ее ширину и цвет -->
<BalloonStyle id>...</BalloonStyle>      <!-- Описывает параметры всплывающего окна и информацей о метке -->
<ListStyle id>...</ListStyle>                <!-- Не знаю, не использовал (Если кто знает поделитесь)-->
</Style>


где возможный синтаксис
<IconStyle id>
<color>ffffffff</color>                         <!-- kml:Цвет -->
<colorMode>normal</colorMode>         <!-- kml:Тип отображения цвета заданный/случайный:normal or random -->
<scale>1</scale>                               <!-- Масштаб иконки -->
<heading>0</heading>                       <!-- float -->
<Icon>
<href>...</href>                              <!-- Ссылка на саму иконку -->
</Icon>
<hotSpot x="0.5"  y="0.5"
xunits="fraction" yunits="fraction"/>    <!-- kml:vec2 -->
</IconStyle>


<LabelStyle id>
<color>ffffffff</color>                      <!-- kml:Цвет -->
<colorMode>normal</colorMode>      <!-- kml:Тип отображения цвета заданный/случайный: normal or random -->
<scale>1</scale>                            <!-- Масштаб текста - float -->
</LabelStyle>


<LineStyle id>
<color>ffffffff</color>                      <!-- kml:Цвет -->
<colorMode>normal</colorMode>      <!-- kml:Тип отображения цвета заданный/случайный: normal or random -->
<width>1</width>                          <!-- Ширина линии - float -->
</LineStyle>


<PolyStyle id>
<color>ffffffff</color>                      <!-- kml:Цвет -->
<colorMode>normal</colorMode>      <!-- kml:Тип отображения цвета заданный/случайный: normal or random -->
<fill>1</fill>                                    <!-- Есть заливка или нет - boolean -->
<outline>1</outline>                       <!-- boolean -->
</PolyStyle>


<BalloonStyle id>
<bgColor>ffffffff</bgColor>                 <!-- kml:Цвет фона -->
<textColor>ff000000</textColor>        <!-- kml:Цвет текста -->
<text>...</text>                               <!-- string -->
<displayMode>default</displayMode>    <!-- kml:Тип отображения всплывающего окна Показавать или Скравать :default или hide -->
</BalloonStyle>


<ListStyle id>
<listItemType>check</listItemType> <!-- kml:listItemTypeEnum:check, checkOffOnly,checkHideChildren, radioFolder -->
<bgColor>ffffffff</bgColor>              <!-- kml:color -->
<ItemIcon>                                    <!-- 0 or more ItemIcon elements -->
<state>open</state>                    <!-- kml:itemIconModeEnum:open, closed, error, fetching0, fetching1, or fetching2 -->
<href>...</href>                           <!-- anyURI -->
</ItemIcon>
</ListStyle>


Теперь давайте продолжим с того места где мы остановились в прошлый раз.


В прошлом уроке мы остановились на том, что создали метку указывающую на Дополнительный офис Банка "Хлынов" по адресу: г. Киров, ул. Воровского, 115/1.
Но как Вы знаете в нашем городе работает не один банк а несколько, это Банк "Хлынов","Вятка" Банк, Сбербанк,"Уральский банк реконструкции и развития" и другие, полного списка у меня сейчас нет...

Так вот предположим, что мы сделает метки для всех работающих филиалов банков нашего города.
Возникает вопрос: "Как нам их различать на карте, ведь эх будет очень много?".
Самым логичным ответом по моему является создание различных иконок для разных банков.
Можно также сделать различные иконки и для Филиала банка, Операционной кассы банка и Банкоматов банка.
Вот это и можно реализовать при помощи стилей.
Возьмем для разбора файл kml с тремя метками, двумя метками филиалов банка "Хлынов" и одной меткой банка "УБРиР"

Исходный файл у нас с одним стилем для всех меток

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2" xmlns:gx="http://www.google.com/kml/ext/2.2"

xmlns:kml="http://www.opengis.net/kml/2.2" xmlns:atom="http://www.w3.org/2005/Atom">
<Document>
<name>Банки</name>
<Style id="sn_bank">
<IconStyle>
<scale>1.0</scale>
<Icon>
<href>http://maps.google.com/mapfiles/kml/shapes/dollar.png</href>
</Icon>
<hotSpot x="0.5" y="0" xunits="fraction" yunits="fraction"/>
</IconStyle>
<LabelStyle>
</LabelStyle>
<ListStyle>
</ListStyle>
</Style>
<Style id="sh_bank">
<IconStyle>
<scale>1.4</scale>
<Icon>
<href>http://maps.google.com/mapfiles/kml/shapes/dollar.png</href>
</Icon>
<hotSpot x="0.5" y="0" xunits="fraction" yunits="fraction"/>
</IconStyle>
<LabelStyle>
</LabelStyle>
<ListStyle>
</ListStyle>
</Style>
<StyleMap id="msn_bank">
<Pair>
<key>normal</key>
<styleUrl>#sn_bank</styleUrl>
</Pair>
<Pair>
<key>highlight</key>
<styleUrl>#sh_bank</styleUrl>
</Pair>
</StyleMap>

<Placemark>
<name>ОАО КБ «Хлынов» г. Киров ул. Урицкого, 40</name>
<description>ОАО КБ «Хлынов» Головной офис
г. Киров ул. Урицкого, 40.
Председатель Правления ОАО КБ «Хлынов» – Николай Васильевич ПОПОВ
тел.: (8332) 204-104 факс: (8332) 204-504 доп. 1250</description>
<LookAt>
<longitude>49.688876</longitude>
<latitude>58.592121</latitude>
<altitude>0</altitude>
<range>200</range>
<tilt>0</tilt>
<heading>0</heading>
<altitudeMode>relativeToGround</altitudeMode>
</LookAt>
<styleUrl>#msn_bank</styleUrl>
<Point>
<coordinates>49.688876,58.592121,0</coordinates>
</Point>
</Placemark>
<Placemark>
<name>ОАО КБ «Хлынов» г. Киров ул. Воровского, 115/1</name>
<description>ОАО КБ «Хлынов» Дополнительный офис
г. Киров, ул. Воровского, 115/1.
Управляющий – Шихова Светлана Александровна
тел. 52-21-66, 27-34-96 (факс), 27-84-66</description>
<LookAt>
<longitude>49.61554</longitude>
<latitude>58.597958</latitude>
<altitude>0</altitude>
<range>200</range>
<tilt>0</tilt>
<heading>0</heading>
<altitudeMode>relativeToGround</altitudeMode>
</LookAt>
<styleUrl>#msn_bank</styleUrl>
<Point>
<coordinates>49.61554,58.597958,0</coordinates>
</Point>
</Placemark>

<Placemark>
<name>Филиал "Кировский" ОАО "УБРиР" г. Киров, ул. Воровского, 21а</name>
<description>Филиал "Кировский" ОАО "УБРиР"
г. Киров, ул. Воровского, 21а.
Телефон: (8332) 37-17-35
Факс: (8332) 37-17-35
Директор — Козминых Сергей Юрьевич</description>
<LookAt>
<longitude>49.674697</longitude>
<latitude>58.594486</latitude>
<altitude>0</altitude>
<range>200</range>
<tilt>0</tilt>
<heading>0</heading>
<altitudeMode>relativeToGround</altitudeMode>
</LookAt>
<styleUrl>#msn_bank</styleUrl>
<Point>
<coordinates>49.674697,58.594486,0</coordinates>
</Point>
</Placemark>
</Document>
</kml>


Попробуйте открыть этот файл и посмотреть как это выгледит...



А представьте, что у Вас на карте сделаны метки для всех банков города, а ведь только у банка "Хлынов" их филиалов и операционных касс 21 штука, это еще не считая банкоматов...
А если внести данные обо всех банках, то думаю меток будет не одна сотня! И например как то быстро найти в городе ближайший к Вам филиал интересующего Вас банка, когда у всех меток одинаковые иконки практически не реально.
Так что давайте сначала разберемся как сделать так, что бы у каждого банка была своя иконка.

- Для этого нам нужно создать по экземпяру стилей для каждого банка. Мы сделаем так, возьмем в качестве образца базовый стиль нашего файла

<Style id="sn_bank">
<IconStyle>
<scale>1.0</scale>
<Icon>
<href>http://maps.google.com/mapfiles/kml/shapes/dollar.png</href>
</Icon>
<hotSpot x="0.5" y="0" xunits="fraction" yunits="fraction"/>
</IconStyle>
<LabelStyle>
</LabelStyle>
<ListStyle>
</ListStyle>
</Style>
<Style id="sh_bank">
<IconStyle>
<scale>1.4</scale>
<Icon>
<href>http://maps.google.com/mapfiles/kml/shapes/dollar.png</href>
</Icon>
<hotSpot x="0.5" y="0" xunits="fraction" yunits="fraction"/>
</IconStyle>
<LabelStyle>
</LabelStyle>
<ListStyle>
</ListStyle>
</Style>
<StyleMap id="msn_bank">
<Pair>
<key>normal</key>
<styleUrl>#sn_bank</styleUrl>
</Pair>
<Pair>
<key>highlight</key>
<styleUrl>#sh_bank</styleUrl>
</Pair>
</StyleMap>


и переделаем его для банка "Хлынов", а именно заменим имена стилей и ссылки на стили в "Карте стилей"
Соответственно заменим имена
Вместо <Style id="sn_bank"> напишем <Style id="sn_hlynov">
Вместо <Style id="sh_bank"> напишем <Style id="sh_hlynov">
Вместо <StyleMap id="msn_bank"> напишем <StyleMap id="msn_hlynov">
и ссылки
Вместо <styleUrl>#sn_bank</styleUrl> напишем <styleUrl>#sn_hlynov</styleUrl>
Вместо <styleUrl>#sh_bank</styleUrl> напишем <styleUrl>#sh_hlynov</styleUrl>

и в результате получим следующий код:

<Style id="sn_hlynov">
<IconStyle>
<scale>1.0</scale>
<Icon>
<href>http://maps.google.com/mapfiles/kml/shapes/dollar.png</href>
</Icon>
<hotSpot x="0.5" y="0" xunits="fraction" yunits="fraction"/>
</IconStyle>
<LabelStyle>
</LabelStyle>
<ListStyle>
</ListStyle>
</Style>
<Style id="sh_hlynov">
<IconStyle>
<scale>1.4</scale>
<Icon>
<href>http://maps.google.com/mapfiles/kml/shapes/dollar.png</href>
</Icon>
<hotSpot x="0.5" y="0" xunits="fraction" yunits="fraction"/>
</IconStyle>
<LabelStyle>
</LabelStyle>
<ListStyle>
</ListStyle>
</Style>
<StyleMap id="msn_hlynov">
<Pair>
<key>normal</key>
<styleUrl>#sn_hlynov</styleUrl>
</Pair>
<Pair>
<key>highlight</key>
<styleUrl>#sh_hlynov</styleUrl>
</Pair>
</StyleMap>


Стиль для банка "Хлынов" мы создали давайте теперь заменим в нем иконку, для этого нам нужно заменить ссылку на ее файл.
Ссылка на иконку как было рассказано выше ограничена тегами <Icon></Icon> и выглядит так:
<Icon>
<href>http://maps.google.com/mapfiles/kml/shapes/dollar.png</href>
</Icon>

сейчас это ссылка на иконку знака доллара, а мы для примера заменим ее на иконку со значком евро
<Icon>
<href>http://maps.google.com/mapfiles/kml/shapes/euro.png</href>
</Icon>

тогда код стиля будет выглядеть так:
<Style id="sn_hlynov">
<IconStyle>
<scale>1.0</scale>
<Icon>
<href>http://maps.google.com/mapfiles/kml/shapes/euro.png</href>
</Icon>
<hotSpot x="0.5" y="0" xunits="fraction" yunits="fraction"/>
</IconStyle>
<LabelStyle>
</LabelStyle>
<ListStyle>
</ListStyle>
</Style>
<Style id="sh_hlynov">
<IconStyle>
<scale>1.4</scale>
<Icon>
<href>http://maps.google.com/mapfiles/kml/shapes/euro.png</href>
</Icon>
<hotSpot x="0.5" y="0" xunits="fraction" yunits="fraction"/>
</IconStyle>
<LabelStyle>
</LabelStyle>
<ListStyle>
</ListStyle>
</Style>
<StyleMap id="msn_hlynov">
<Pair>
<key>normal</key>
<styleUrl>#sn_hlynov</styleUrl>
</Pair>
<Pair>
<key>highlight</key>
<styleUrl>#sh_hlynov</styleUrl>
</Pair>
</StyleMap>


теперь создадим стиль для банка "УБРиР", с иконкой в виде доллара

<Style id="sn_ubrir">
<IconStyle>
<scale>1.0</scale>
<Icon>
<href>http://maps.google.com/mapfiles/kml/shapes/dollar.png</href>
</Icon>
<hotSpot x="0.5" y="0" xunits="fraction" yunits="fraction"/>
</IconStyle>
<LabelStyle>
</LabelStyle>
<ListStyle>
</ListStyle>
</Style>
<Style id="sh_ubrir">
<IconStyle>
<scale>1.4</scale>
<Icon>
<href>http://maps.google.com/mapfiles/kml/shapes/dollar.png</href>
</Icon>
<hotSpot x="0.5" y="0" xunits="fraction" yunits="fraction"/>
</IconStyle>
<LabelStyle>
</LabelStyle>
<ListStyle>
</ListStyle>
</Style>
<StyleMap id="msn_ubrir">
<Pair>
<key>normal</key>
<styleUrl>#sn_ubrir</styleUrl>
</Pair>
<Pair>
<key>highlight</key>
<styleUrl>#sh_ubrir</styleUrl>
</Pair>
</StyleMap>


так же нужно не забыть заменить ссылку на "Карту стилей" в каждой метке!
в начале она у нас выглядела так <styleUrl>#msn_bank</styleUrl>
а нам для меток банка "Хлынов" нужна такая ссылка <styleUrl>#msn_hlynov</styleUrl>,
а для банка "УБРиР" такая <styleUrl>#msn_ubrir</styleUrl>

после того как мы выполним выше описанные преобразования наш файл примет такой вид:
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2" xmlns:gx="http://www.google.com/kml/ext/2.2"

xmlns:kml="http://www.opengis.net/kml/2.2" xmlns:atom="http://www.w3.org/2005/Atom">
<Document>
<name>Банки</name>
<Style id="sn_hlynov">
<IconStyle>
<scale>1.0</scale>
<Icon>
<href>http://maps.google.com/mapfiles/kml/shapes/euro.png</href>
</Icon>
<hotSpot x="0.5" y="0" xunits="fraction" yunits="fraction"/>
</IconStyle>
<LabelStyle>
</LabelStyle>
<ListStyle>
</ListStyle>
</Style>
<Style id="sh_hlynov">
<IconStyle>
<scale>1.4</scale>
<Icon>
<href>http://maps.google.com/mapfiles/kml/shapes/euro.png</href>
</Icon>
<hotSpot x="0.5" y="0" xunits="fraction" yunits="fraction"/>
</IconStyle>
<LabelStyle>
</LabelStyle>
<ListStyle>
</ListStyle>
</Style>
<StyleMap id="msn_hlynov">
<Pair>
<key>normal</key>
<styleUrl>#sn_hlynov</styleUrl>
</Pair>
<Pair>
<key>highlight</key>
<styleUrl>#sh_hlynov</styleUrl>
</Pair>
</StyleMap>
<Style id="sn_ubrir">
<IconStyle>
<scale>1.0</scale>
<Icon>
<href>http://maps.google.com/mapfiles/kml/shapes/dollar.png</href>
</Icon>
<hotSpot x="0.5" y="0" xunits="fraction" yunits="fraction"/>
</IconStyle>
<LabelStyle>
</LabelStyle>
<ListStyle>
</ListStyle>
</Style>
<Style id="sh_ubrir">
<IconStyle>
<scale>1.4</scale>
<Icon>
<href>http://maps.google.com/mapfiles/kml/shapes/dollar.png</href>
</Icon>
<hotSpot x="0.5" y="0" xunits="fraction" yunits="fraction"/>
</IconStyle>
<LabelStyle>
</LabelStyle>
<ListStyle>
</ListStyle>
</Style>
<StyleMap id="msn_ubrir">
<Pair>
<key>normal</key>
<styleUrl>#sn_ubrir</styleUrl>
</Pair>
<Pair>
<key>highlight</key>
<styleUrl>#sh_ubrir</styleUrl>
</Pair>
</StyleMap>

<Placemark>
<name>ОАО КБ «Хлынов» г. Киров ул. Урицкого, 40</name>
<description>ОАО КБ «Хлынов» Головной офис
г. Киров ул. Урицкого, 40.
Председатель Правления ОАО КБ «Хлынов» – Николай Васильевич ПОПОВ
тел.: (8332) 204-104 факс: (8332) 204-504 доп. 1250</description>
<LookAt>
<longitude>49.688876</longitude>
<latitude>58.592121</latitude>
<altitude>0</altitude>
<range>200</range>
<tilt>0</tilt>
<heading>0</heading>
<altitudeMode>relativeToGround</altitudeMode>
</LookAt>
<styleUrl>#msn_hlynov</styleUrl>
<Point>
<coordinates>49.688876,58.592121,0</coordinates>
</Point>
</Placemark>
<Placemark>
<name>ОАО КБ «Хлынов» г. Киров ул. Воровского, 115/1</name>
<description>ОАО КБ «Хлынов» Дополнительный офис
г. Киров, ул. Воровского, 115/1.
Управляющий – Шихова Светлана Александровна
тел. 52-21-66, 27-34-96 (факс), 27-84-66</description>
<LookAt>
<longitude>49.61554</longitude>
<latitude>58.597958</latitude>
<altitude>0</altitude>
<range>200</range>
<tilt>0</tilt>
<heading>0</heading>
<altitudeMode>relativeToGround</altitudeMode>
</LookAt>
<styleUrl>#msn_hlynov</styleUrl>
<Point>
<coordinates>49.61554,58.597958,0</coordinates>
</Point>
</Placemark>

<Placemark>
<name>Филиал "Кировский" ОАО "УБРиР" г. Киров, ул. Воровского, 21а</name>
<description>Филиал "Кировский" ОАО "УБРиР"
г. Киров, ул. Воровского, 21а.
Телефон: (8332) 37-17-35
Факс: (8332) 37-17-35
Директор — Козминых Сергей Юрьевич</description>
<LookAt>
<longitude>49.674697</longitude>
<latitude>58.594486</latitude>
<altitude>0</altitude>
<range>200</range>
<tilt>0</tilt>
<heading>0</heading>
<altitudeMode>relativeToGround</altitudeMode>
</LookAt>
<styleUrl>#msn_ubrir</styleUrl>
<Point>
<coordinates>49.674697,58.594486,0</coordinates>
</Point>
</Placemark>
</Document>
</kml>

Если Вы откроете этот файл то увидите что сделанные нами изменения работают!



Сейчас уже можно различать банки между собой, но экран все равно загроможден ненужной информацией.
Например совсем не обязательно отображать названия меток всегда, а достаточно показывать их при наведении мыши.
Это тоже можно сделать при помощи стилей, внеся параметры внутрь тегов <LabelStyle>...</LabelStyle> которые описывает текст

отображающийся вмести с иконкой
для стиля неактивного состояние

<LabelStyle>
<color>0</color>                       <!-- Не отображать название метки -->
<scale>1</scale>
</LabelStyle>

для стиля активного состояние
<LabelStyle>
<color>ffffffff</color>                <!-- Белый цвет -->
<scale>1.2</scale>
</LabelStyle>


<color>ffffffff</color> Цвет который описывается при помощи четырех шестнадцатиричных чисел,
первое - отвечает за степень прозрачности текста 00-полностью прозрачен (невидим) ff-полностью непрозрачен
второе - отвечает за интенсивность синего канала
третье - отвечает за интенсивность зеленого канала
четвертое - отвечает за интенсивность красного канала

В нашем примере мы сделали так что пока на метку не наведен курсор то подпись не видна и отображается только при наведении курсора.

После внесения корректировки в код мы получим:
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2" xmlns:gx="http://www.google.com/kml/ext/2.2"

xmlns:kml="http://www.opengis.net/kml/2.2" xmlns:atom="http://www.w3.org/2005/Atom">
<Document>
<name>Банки</name>
<Style id="sn_hlynov">
<IconStyle>
<scale>1.0</scale>
<Icon>
<href>http://maps.google.com/mapfiles/kml/shapes/euro.png</href>
</Icon>
<hotSpot x="0.5" y="0" xunits="fraction" yunits="fraction"/>
</IconStyle>
<LabelStyle>
<color>0</color>                       <!-- Не отображать название метки -->
<scale>1</scale>
</LabelStyle>
<ListStyle>
</ListStyle>
</Style>
<Style id="sh_hlynov">
<IconStyle>
<scale>1.4</scale>
<Icon>
<href>http://maps.google.com/mapfiles/kml/shapes/euro.png</href>
</Icon>
<hotSpot x="0.5" y="0" xunits="fraction" yunits="fraction"/>
</IconStyle>
<LabelStyle>
<color>ffffffff</color>                <!-- Белый цвет -->
<scale>1.2</scale>
</LabelStyle>
<ListStyle>
</ListStyle>
</Style>
<StyleMap id="msn_hlynov">
<Pair>
<key>normal</key>
<styleUrl>#sn_hlynov</styleUrl>
</Pair>
<Pair>
<key>highlight</key>
<styleUrl>#sh_hlynov</styleUrl>
</Pair>
</StyleMap>
<Style id="sn_ubrir">
<IconStyle>
<scale>1.0</scale>
<Icon>
<href>http://maps.google.com/mapfiles/kml/shapes/dollar.png</href>
</Icon>
<hotSpot x="0.5" y="0" xunits="fraction" yunits="fraction"/>
</IconStyle>
<LabelStyle>
<color>0</color>                       <!-- Не отображать название метки -->
<scale>1</scale>
</LabelStyle>
<ListStyle>
</ListStyle>
</Style>
<Style id="sh_ubrir">
<IconStyle>
<scale>1.4</scale>
<Icon>
<href>http://maps.google.com/mapfiles/kml/shapes/dollar.png</href>
</Icon>
<hotSpot x="0.5" y="0" xunits="fraction" yunits="fraction"/>
</IconStyle>
<LabelStyle>
<color>ffffffff</color>                <!-- Белый цвет -->
<scale>1.2</scale>
</LabelStyle>
<ListStyle>
</ListStyle>
</Style>
<StyleMap id="msn_ubrir">
<Pair>
<key>normal</key>
<styleUrl>#sn_ubrir</styleUrl>
</Pair>
<Pair>
<key>highlight</key>
<styleUrl>#sh_ubrir</styleUrl>
</Pair>
</StyleMap>

<Placemark>
<name>ОАО КБ «Хлынов» г. Киров ул. Урицкого, 40</name>
<description>ОАО КБ «Хлынов» Головной офис
г. Киров ул. Урицкого, 40.
Председатель Правления ОАО КБ «Хлынов» – Николай Васильевич ПОПОВ
тел.: (8332) 204-104 факс: (8332) 204-504 доп. 1250</description>
<LookAt>
<longitude>49.688876</longitude>
<latitude>58.592121</latitude>
<altitude>0</altitude>
<range>200</range>
<tilt>0</tilt>
<heading>0</heading>
<altitudeMode>relativeToGround</altitudeMode>
</LookAt>
<styleUrl>#msn_hlynov</styleUrl>
<Point>
<coordinates>49.688876,58.592121,0</coordinates>
</Point>
</Placemark>
<Placemark>
<name>ОАО КБ «Хлынов» г. Киров ул. Воровского, 115/1</name>
<description>ОАО КБ «Хлынов» Дополнительный офис
г. Киров, ул. Воровского, 115/1.
Управляющий – Шихова Светлана Александровна
тел. 52-21-66, 27-34-96 (факс), 27-84-66</description>
<LookAt>
<longitude>49.61554</longitude>
<latitude>58.597958</latitude>
<altitude>0</altitude>
<range>200</range>
<tilt>0</tilt>
<heading>0</heading>
<altitudeMode>relativeToGround</altitudeMode>
</LookAt>
<styleUrl>#msn_hlynov</styleUrl>
<Point>
<coordinates>49.61554,58.597958,0</coordinates>
</Point>
</Placemark>

<Placemark>
<name>Филиал "Кировский" ОАО "УБРиР" г. Киров, ул. Воровского, 21а</name>
<description>Филиал "Кировский" ОАО "УБРиР"
г. Киров, ул. Воровского, 21а.
Телефон: (8332) 37-17-35
Факс: (8332) 37-17-35
Директор — Козминых Сергей Юрьевич</description>
<LookAt>
<longitude>49.674697</longitude>
<latitude>58.594486</latitude>
<altitude>0</altitude>
<range>200</range>
<tilt>0</tilt>
<heading>0</heading>
<altitudeMode>relativeToGround</altitudeMode>
</LookAt>
<styleUrl>#msn_ubrir</styleUrl>
<Point>
<coordinates>49.674697,58.594486,0</coordinates>
</Point>
</Placemark>
</Document>
</kml>

В итоге мы получили такой вариант...



Сегодня мы рассмотрели создание "Карты стилей" - <StyleMap> и самих Стилей - <Style>, а также рассмотрели использование некоторых параметров стиля используемых при создании меток <IconStyle> и <LabelStyle>.
О других параметрах стилей поговорим в другой раз.


После выполнения сегодняшнего урока стался один минус - метки не исчезают при масштабировании, и при увеличении масштаба весь город скрывается за метками.
О том как скрывать метки при масштабировании мы поговорим в следующий раз.