0

現在、すべての関連情報をフィールドに格納する KML ファイルを作成しています。これには 2 つの URL が含まれます (1 つは別のページへ、もう 1 つは表示される画像へ)。

<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 に答える