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">
<Document>
    <name>Area Box</name>
    <open>1</open>
    <Placemark>
        <name>Area</name>
        <Style>
            <LineStyle>
                <color>fff5f5f5</color>
                <width>3</width>
            </LineStyle>
            <PolyStyle>
                <color>aa00ffff</color>
            </PolyStyle>
            <BalloonStyle>
                <text>
                    <![CDATA[Information Here]]>
                </text>
            </BalloonStyle>
        </Style>
        <Polygon>
            <outerBoundaryIs>
                <LinearRing>
                    <coordinates>
                        -105,40,0 -104.8,40,0 -104.8,39.8,0 -105,39.8,0 -105,40,0
                    </coordinates>
                </LinearRing>
            </outerBoundaryIs>
        </Polygon>
    </Placemark>
    <Placemark>
        <name>Icon</name>
        <Style>
            <IconStyle>
                <Icon>
                    <href>http://maps.google.com/mapfiles/kml/pal5/icon11.png</href>
                </Icon>
            </IconStyle>
            <BalloonStyle>
                <text>
                    <![CDATA[Information Here]]>
                </text>
            </BalloonStyle>
        </Style>
        <Point>
            <coordinates>
                -104.9,39.9,0
            </coordinates>
        </Point>
    </Placemark>
</Document>


person user2531973    schedule 28.06.2013    source источник


Ответы (1)


Используйте MultiGeometry.

<?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">
<Document>
  <name>Area Box</name>
  <open>1</open>
  <Placemark>
    <name>Area</name>
    <Style>
        <LineStyle>
            <color>fff5f5f5</color>
            <width>3</width>
        </LineStyle>
        <PolyStyle>
            <color>aa00ffff</color>
        </PolyStyle>
        <BalloonStyle>
            <text>
                <![CDATA[Information Here]]>
            </text>
        </BalloonStyle>
    </Style>
    <MultiGeometry>
      <Point>
        <coordinates>
            -104.9,39.9,0
        </coordinates>
      </Point>
      <Polygon>
        <outerBoundaryIs>
            <LinearRing>
                <coordinates>
                    -105,40,0 -104.8,40,0 -104.8,39.8,0 -105,39.8,0 -105,40,0
                </coordinates>
            </LinearRing>
        </outerBoundaryIs>

      </Polygon>
  </MultiGeometry>
</Placemark>

person geocodezip    schedule 28.06.2013