11

我能够使用 KML 显示多边形、圆形等。现在我只想使用 KML 显示一些名称。这可能吗 ?

4

1 回答 1

9

如果您想禁止在 Google 地球地图上显示地标标签(通过 KML),那么您可以将LabelStyle添加到具有 0 比例尺的地标(请参见下面示例中的sn_hide样式)。如果您想在地图上隐藏标签名称,直到您将鼠标悬停在图标上,那么StyleMaps是您最好的选择。

下面示例中的第一个地标的名称显示在位置面板中,但使用LabelStyle从地图中隐藏。第二个地标 #2 使用StyleMap隐藏标签,直到用户突出显示或将鼠标悬停在它激活显示标签的突出显示样式的图标上。第三个地标 #3 使用始终显示标签的默认样式。

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
    <Document>
        <name>Hide and show labels</name>
        <Style id="sn_hide">
            <LabelStyle>
                <scale>0</scale>
            </LabelStyle>
        </Style>
        <Style id="sh_style">
            <LabelStyle>
                <scale>1.1</scale>
            </LabelStyle>
        </Style>
        <StyleMap id="msn_hide">
            <Pair>
                <key>normal</key>
                <styleUrl>#sn_hide</styleUrl>
            </Pair>
            <Pair>
                <key>highlight</key>
                <styleUrl>#sh_style</styleUrl>
            </Pair>
        </StyleMap>

        <Placemark>
            <name>Placemark 1</name>
            <description>Label name always hidden</description>
            <styleUrl>#sn_hide</styleUrl>
            <Point>
                <coordinates>-119.232195,36.016021</coordinates>
            </Point>
        </Placemark>

        <Placemark>
            <name>Placemark 2</name>
            <description>Hover over place to show label</description>
            <styleUrl>#msn_hide</styleUrl>
            <Point>
                <coordinates>-119.2324,36.0155</coordinates>
            </Point>
        </Placemark>

        <Placemark>
            <name>Placemark 3</name>
            <description>Always showing</description>
            <Point>
                <coordinates>-119.232672,36.014837</coordinates>
            </Point>
        </Placemark>
    </Document>
</kml>
于 2012-11-14T23:02:08.643 回答