Клуб API Карт

XML и полигон с данными!!!

Пост в архиве.
arinokaz
19 мая 2010, 23:05

Здравствуйте! Я бы хотел узнать по такому вопросу: вот с помощью Template можно задать любой текст ( даже с новой строки!!! ) в таких обьектах : repr:iconStyle, repr:shadow, repr:balloonContentStyle, repr:hintContentStyle, repr:iconContentStyle, меня интересует возможно ли так делать в полигоне? или любой другой медот чтоб водить данные с новой строки или при нажатии на полигон оно переносило на другую страничку. Вот кусок XML файла:

<?xml version="1.0" encoding="utf-8"?>
<ymaps xmlns="http://maps.yandex.ru/ymaps/1.x" xmlns:gml="http://www.opengis.net/gml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maps.yandex.ru/schemas/ymaps/1.x/ymaps.xsd">      
    <Representation xmlns="http://maps.yandex.ru/representation/1.x">
        <Style gml:id="styleboloto">
            <iconStyle>
                <href>http://image2blog.com/images/2010/05/17/d29e9380f12fa584d025043ef3bcb772.gif</href>
                <size x="10" y="10"></size>
                <offset x="-5" y="-5"></offset>
            </iconStyle>
        </Style>

...

        <Style gml:id="styleforfire">
            <iconStyle>
                <href>http://image2blog.com/images/2010/05/17/1e0a062d48adaf7bfa8ebb22ce7c0514.gif</href>
                <size x="10" y="10"></size>
                <offset x="-5" y="-5"></offset>
            </iconStyle>
        </Style>
    
    <Style gml:id="kvartal">    
    <polygonStyle>
    <strokeColor>ffff0088</strokeColor>
    <strokeWidth>5</strokeWidth>
    <outline>1</outline>
    <fill>1</fill>
    <fillColor>0000FF30</fillColor>
    </polygonStyle>
    </Style>
    
    
                <balloonContentStyle>
                <template>#balloonTemplate</template>
            </balloonContentStyle>
        
                <Template gml:id="balloonTemplate">
            <text><![CDATA[
                    <div style="font-size:12px;">
                        <div style="color:#ff0303;font-weight:bold">$[name]</div>
                        <div>Квартал: $[metaDataProperty.AnyMetaData.kvart]</div>
                        <div>Обьект: $[metaDataProperty.AnyMetaData.object]</div>
                        <div>Данные: $[metaDataProperty.AnyMetaData.bd]</div>
                        <div>.......... $[metaDataProperty.AnyMetaData.prob]</div>
                    </div>]]></text>
               </Template>

        
    </Representation>


<GeoObjectCollection>
  <gml:featureMembers>

             // Болота

      <GeoObjectCollection>
        <style>#styleboloto</style>
          <gml:name>Болота</gml:name>
          <gml:featureMembers>
            <GeoObject>
                <gml:name>Болото</gml:name>
                <gml:description>Информация</gml:description>
                <gml:Point>
                <gml:pos>32.077131 46.408107</gml:pos>
               </gml:Point>
            </GeoObject>

            <GeoObject>
                <gml:name>Болото</gml:name>
                <gml:description>Информация</gml:description>
                <gml:Point>
                <gml:pos>32.079232 46.409168</gml:pos>
               </gml:Point>
            </GeoObject>
         </gml:featureMembers>
      </GeoObjectCollection>

...

          // Противопожарные полосы

      <GeoObjectCollection>
        <style>#styleforfire</style>
          <gml:name>Противопожарные полосы</gml:name>
          <gml:featureMembers>
            <GeoObject>
                <gml:name>Противопожарная полоса</gml:name>
                <gml:description>Информация</gml:description>
                <gml:Point>
                <gml:pos>32.061934 46.410607</gml:pos>
               </gml:Point>
             </GeoObject>
          </gml:featureMembers>
       </GeoObjectCollection>
       
       // Кварталы
       
       <GeoObjectCollection>
          <style>#kvartal</style>
          <gml:name>Кварталы</gml:name>
          <gml:featureMembers>
             <GeoObject>
                <gml:name>Квартал 17</gml:name>
                <gml:metaDataProperty>
                    <AnyMetaData>
                       <kvart>Квартал 17</kvart>
                       <object>+7 495 739-70-00</object>
                       <bd>+7 495 739-70-70</bd>
                       <prob>........</prob>
                    </AnyMetaData>
                </gml:metaDataProperty>
                <gml:Polygon>
                    <gml:exterior>
                        <gml:LinearRing>
                            <gml:posList>32.042899 46.412079 32.062039 46.411843 32.062383 46.401071 32.057834 46.401367 32.052855 46.404978 32.047105 46.409357</gml:posList>
                        </gml:LinearRing>
                    </gml:exterior>
                </gml:Polygon>
            </GeoObject>
         </gml:featureMembers>
      </GeoObjectCollection>


  </gml:featureMembers>
</GeoObjectCollection>
</ymaps>




 Спасибо за помощь!!! и не подскажите есть ли какая литература в электронном варианте ( кроме http://api.yandex.ru/maps/ ) де можно былоб взять оттуда инфу?!

1 комментарий
При щелчке по многоугольнику будет открывать балун, форматирование его содержимого можно настроить с помощью шаблона.

Можно просто в тег вписать любой html (в том числе и с переносами строк).

Если я не совсем верно понял вашего вопроса, то расскажите поподробнее о вашей задаче.

P. S. В следующий раз длинные листинги прячьте под врезкой (при создании поста в редакторе для этого есть специальная кнопочка).