【发布时间】:2013-02-27 03:38:31
【问题描述】:
大局:我正在使用 C++ 中的自定义 KML 编写器编写自己的 KML。我有一组共享一些(不是全部)属性的地标。目前,我将共享属性存储为地标所在的父文件夹的属性。这些 KML 可在 Google 地球中查看。
用户可以使用与存储在每个地标/文件夹中的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>
【问题讨论】:
-
哎呀。我的意思是这适用于备选方案 1。我仍然对备选方案 2 感到好奇。我突然想到我可以将共享数据放在 KMZ 内的 html 文件中,但这似乎很快就会变得丑陋。跨度>
标签: kml google-earth kmz