大图:我正在使用C++自定义KML编写器编写自己的KML。我有一组共享一些(不是全部)属性的地标。目前,我将共享属性存储为地标所在的父文件夹的属性。这些KML可在Google地球中查看。链接KML气球
用户可以使用链接到存储在每个地标/文件夹中的ExtendedData的BalloonStyle查看此数据。地标为其独特数据共享气球样式,并且当他们点击Google地球中的文件夹时,共享数据将使用父文件夹的气球样式显示。
我不能复制每个地标中的共享数据,这就是为什么我将它存储在父文件夹中的原因。
替代方案1:是否有任何方法提供用户可点击的链接到子文件夹气球内的父文件夹气球?
方案2:是否可以在地标的信息气球中显示另一个地标/要素的数据?
据我所知,两种替代方案都是不可能的。
编辑:简单的例子代码:
<?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" xmlns:atom="http://www.w3.org/2005/Atom">
<Document>
<name>MyKml</name>
<Style id="Style8"> <!-- style for child point -->
<BalloonStyle>
<text>
Point: $[name]<br/>
Code: $[code]<br/>
Number of Points: $[numpts] <!-- Alt2: numpts belongs to the parent - this syntax is obviously wrong -->
Link to parent: $[parentid] <!-- Alt1: if I can't display the parent's properties, can I at least give a clickable link to it? -->
</text>
</BalloonStyle>
</Style>
<Style id="Style12"> <!-- style for parent folder -->
<BalloonStyle>
<text>
Point Group: $[name]<br/>
Number of Points: $[numpts]
</text>
</BalloonStyle>
</Style>
<Folder>
<name>Point Group 1</name>
<styleUrl>#Style12</styleUrl>
<ExtendedData>
<Data name="numpts">
<value>4</value>
</Data>
</ExtendedData>
<Placemark>
<name>PT1</name>
<styleUrl>#Style8</styleUrl>
<ExtendedData>
<Data name="code">
<value>TAT1</value>
</Data>
</ExtendedData>
<MultiGeometry>
<Point>
<coordinates>-121,47,110</coordinates>
</Point>
</MultiGeometry>
</Placemark>
<Placemark>
<name>PT2 - PT4</name>
<styleUrl>#Style8</styleUrl>
<ExtendedData>
<Data name="code">
<value>TAT2</value>
</Data>
</ExtendedData>
<MultiGeometry>
<Point>
<coordinates>-121.090,47.430,1224</coordinates>
</Point>
<Point>
<coordinates>-121.470,47.621,122</coordinates>
</Point>
<Point>
<coordinates>-121.990,47.121,122</coordinates>
</Point>
</MultiGeometry>
</Placemark>
</Folder>
</Document>
</kml>
在此链路(http://stackoverflow.com/questions/7432476)中使用的 HREF功能似乎非常适合于替代2.我仍然好奇替代1. – Phlucious 2013-03-11 22:37:10
糟糕。我的意思是这适用于选择1.我仍然对备选方案2感到好奇。我发现我可以将共享数据放在KMZ中的html文件中,但看起来它会很快变得丑陋。 – Phlucious 2013-03-12 17:53:57