我正在编写kml代码,因为它很容易理解,并且相当合乎逻辑。 但我想保持它可转换为我唯一的,更充足的XML (这个界面,我还需要设置一个独立的地球仪), 地点"地标"对于每个元素,它们本身都是无关紧要的 将包含在文件夹中 - 所以我忽略了地标名称,如下所示:
<Folder>
<name>Koszeg</name>
<TimeSpan><begin>-200000000</begin></TimeSpan>
<Placemark><styleUrl>#pool</styleUrl>
<Point><altitudeMode>absolute</altitudeMode><coordinates>0,0,0</coordinates></Point>
<description>jura basalt,flisexfoliatio</description>
</Placemark>
</Folder>
唯一的问题是,直到那时,我只能在气球中显示描述。 有选择器可以显示palcemarks的名称和描述, 但我不能&#34;遍历&#34;父元素(文件夹)的代码? 寻找像这样的sthing:
<Style id="pool"><BalloonStyle><text>
$[FolderName] or $[parentNode.nodeName]<br/>
$[description]</text></BalloonStyle>
</Style>
我认为我可以解决的更多事情: 将地标图标和气球文本图像链接到 具有相同(地标/文件夹&#39; s)名称的本地文件。 意图的插图:
<Style id="genos">
<IconStyle><Icon><href>layer/$[name].png</href></Icon></IconStyle>
<BalloonStyle><text><img src="layer/$[name].png"/></text></BalloonStyle>
</Style>
非常感谢您的考虑! - 昙花一现 (我是一个新手,业余编码员,希望我有正确的意义)
答案 0 :(得分:0)
Google地球支持的唯一实体代码如下:
$[name], $[description], $[address], $[id], $[Snippet], and $[geDirections]
来源:https://developers.google.com/kml/documentation/kmlreference#description
可以在KML Errata中找到完整的实体标签列表和一些未记录的详细信息。
您只能引用当前功能的子元素(例如名称,描述,ID等)。通过特殊变量(例如父变量)访问父元数据是个好主意,但这不是KML规范的一部分。
显示父名称的唯一方法是在父文件夹的描述中添加$ [name]标签和/或将其添加到与其关联的balloonStyle。
<Folder>
<name>Koszeg</name>
<description><![CDATA[
<B>$[name]<B>
]]></description>
....
</Folder>
但是,您可以从一个功能(也称为地标)链接到另一个功能,并通过单击另一个描述气球中的链接跳转到和/或显示其气球。在KML文档中,这称为功能锚。可以找到一个示例here。
在目标网址的末尾,您可以将以下三个字符串之一附加到片段网址,以获取相应的行为:
; flyto(默认) - 飞到功能
;气球 - 打开功能的气球,但不要飞到功能
; balloonFlyto - 打开要素的气球并飞到要素