3

我在 KML 中有一个 Multigeometry,但是当我为地标指定名称时,我的地标中的两个点都具有相同的名称。任何地标中的点是否有可能具有不同的名称?

这是我的代码示例:

<Placemark>
    <name>TEST</name>
<description></description>
    <visibility>1</visibility>
    <tessellate>1</tessellate>
    <styleUrl>#StyTEST</styleUrl>
<MultiGeometry>
    <Point>
        <coordinates>-3.6655,40.4364</coordinates>
    </Point>
    <Point>
        <coordinates>-3.6726,40.4308</coordinates>
    </Point>
    <LineString>
        <tessellate>1</tessellate>
            <coordinates>
                -3.6655,40.4364
                -3.6726,40.4308
            </coordinates>
    </LineString>
</MultiGeometry>
</Placemark>
4

3 回答 3

5

即使使用多几何,KML 也不允许单个要素中的几何具有多个名称/标签。如果您在 MultiGeometry 中有多个点,则相同的特征名称将出现在所有点上。一个地标点 == 一个标签,因此如果您想使用 KML 在地图上使用不同的标签,则必须在行的每一端有两个地标。

简单的解决方案是使用多个地标构建您的 KML,您可以使用checkHideChildren listItemType将其隐藏在文档/文件夹中。然后它作为一个“功能”出现在 Google 地球的“地点”面板中,但地图上会根据需要显示多个名称标签。这里的技巧是文件夹名称出现在位置面板中,地标名称显示为地图上的标签。

以下示例说明了这样的 KML 文件。

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
    <Document>            
        <name>Example</name>
        <open>1</open>

        <Style id="hide">
            <ListStyle>
                <listItemType>checkHideChildren</listItemType>
            </ListStyle>
        </Style>

        <Folder>
          <name>TEST1</name>
          <styleUrl>#hide</styleUrl>

          <Placemark>
            <name>TEST1</name>
            <MultiGeometry>
                <Point>
                    <coordinates>-3.6726,40.4308</coordinates>
                </Point>
                <LineString>
                    <tessellate>1</tessellate>
                    <coordinates>
                     -3.6655,40.4364
                     -3.6726,40.4308
                    </coordinates>
                </LineString>
            </MultiGeometry>
          </Placemark>

          <Placemark>
            <name>TEST2</name>
            <Point>
                <coordinates>-3.6655,40.4364</coordinates>
            </Point>
          </Placemark>

        </Folder>
    </Document>
</kml>
于 2012-10-11T14:45:42.747 回答
3

地标只有一个名称。如果您需要让每个点都有自己的名称,则它们需要是单独的地标。

参考文档

<Placemark>
句法

<Placemark id="ID">
<!-- inherited from Feature element -->
<name>...</name> <!-- string -->
<visibility>1</visibility> <!-- boolean -->
<open>0</open> <!-- boolean -->
<atom:author>...<atom:author> <!-- xmlns:atom -->
<atom:link href=" "/> <!-- xmlns:atom -->
<address>...</address> <!-- string -->
<xal:AddressDetails>...</xal:AddressDetails> <!-- xmlns:xal -->
<phoneNumber>...</phoneNumber> <!-- string -->
<Snippet maxLines="2">...</Snippet> <!-- string -->
<description>...</description> <!-- string -->
<AbstractView>...</AbstractView> <!-- Camera or LookAt -->
<TimePrimitive>...</TimePrimitive>
<styleUrl>...</styleUrl> <!-- anyURI -->
<StyleSelector>...</StyleSelector>
<Region>...</Region>
<Metadata>...</Metadata> <!-- deprecated in KML 2.2 -->
<ExtendedData>...</ExtendedData> <!-- new in KML 2.2 -->

<!-- specific to Placemark element -->
<Geometry>...</Geometry>
</Placemark>

于 2012-10-11T12:02:53.887 回答
-1

用户不能一次看到 40,000 个地标。查看一些提供的 Earth Gallery 页面,例如 FlightWise ( http://mw1.google.com/mw-weather/flightwise/pointer.kml ),了解他们如何使用 NetworkLink、Region 和 Lod 标签来拆分他们的数据集并在正确的时间将正确的数据呈现给正确的视图。

于 2013-02-18T17:13:35.397 回答