具有两个点和不同名称的多几何点

Jon*_*pez 2 kml

你好我在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>
Run Code Online (Sandbox Code Playgroud)

Jas*_*nM1 5

即使使用多维几何体,KML也不允许在单个要素内使用多个名称/标签.如果MultiGeometry中有多个点,则会在所有点上显示相同的要素名称.一个地标点==一个标签,因此如果您想使用KML在地图上使用不同的标签,则必须在该行的每一端都有两个地标.

简单的解决方案是使用checkHideChildren listItemType将您可以隐藏在文档/文件夹中的多个地标构建KML .然后它会在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>
Run Code Online (Sandbox Code Playgroud)