0

我目前正在创建一个 KML 文件,该文件将所有相关信息存储在字段中。这包括两个 URL(一个指向另一个页面,一个指向应显示的图像)。

<ExtendedData>
<Data name="sProUrl">
    <value>http://bla.com/bla.htm</value>
</Data> 
</extendedData>

我这样做是为了可以通过使用 $[test] 访问标签中的所有信息来访问数据。

<![CDATA[<table><tr><td><b><a href=&quot;$[sProUrl]&quot;>]]>

或者

<![CDATA[<table><tr><td><b><a href="$[sProUrl]">]]>

这仅适用于仅包含文本的项目,但不适用于 Web 和图像链接。不知何故,CDATA 和 $[] 中的引号似乎无法相处。意味着链接显示不正确:

http://bla.com/bla.htm "" target="_blank">应该是链接的示例文本

我尝试用 \ 转义字符,尝试将引号放在值和其他内容中,但没有任何效果。

有任何想法吗?

这是一个更完整的代码示例,享受:

<Style id="style001">
<IconStyle>

    <color>ff7f3d08</color>
    <colorMode>normal</colorMode>

    <Icon>
        <href>http://bla.com/white-dot.png</href>
    </Icon>

    <hotSpot x="0.5"  y="0.0" xunits="fraction" yunits="fraction"/> 

</IconStyle>

<BalloonStyle>
    <text>
        <![CDATA[<a href=&quot;$[sProUrl]&quot;>[sTitle]</a></b><table style="width:100%;padding:0px;margin:0px"><tr><td valign="top"><i>$[sPrize]</i><br><b>Year:</b> $[iYear]<br><b>Author:</b> $[sAuthor]<td align="right"><img src="$[sImgUrl]"></td></tr></table>]]>
    </text>
</BalloonStyle>         

<Placemark>
<description />

<styleUrl>#style001</styleUrl>

<Point>
    <coordinates>-4.2437307340134,31.438844258775,0</coordinates>
</Point>

<ExtendedData>
    <Data name="sProUrl">
        <value>http://bla.com/bla.htm</value>
    </Data>

    <Data name="sTitle">
        <value>Title</value>
    </Data>

    <Data name="sPrize">
        <value>Prize</value>
    </Data>         

    <Data name="iYear">
        <value>2013</value>
    </Data>     

    <Data name="sAuthor">
        <value>mebu83</value>
    </Data> 

    <Data name="sImgUrl">
        <value>http://bla.com/bla.jpg</value>
    </Data>
</ExtendedData>
</Placemark
4

1 回答 1

0

如果您可以发布更多信息,它会有所帮助,但我首先要注意的是 CDATA 部分中的转义引号也没有正确终止。例如,它不能是:

<![CDATA[<table><tr><td><b><a href="$[sProUrl]"]]>

其次,随着更多人编写代码,您所做工作的意图可能会更清晰(并允许更好的答案)。

于 2013-01-30T06:17:10.333 回答