你好我在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)
即使使用多维几何体,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)