3

目印のリストを含む KML ファイルがあります。目印の説明には、ユーザーにブラウザで開いてもらいたい Web ページへのリンクがあります。href はフラグメント URL を指します。つまり、区切り文字として「#」があり、その後に目印に関連するパラメーターが続きます。目印のバルーンを表示するとクリック可能なリンクが表示されますが、クリックすると URL がブラウザに送信され、「#」とそれに続くパラメータが削除されます。ただし、リンクを右クリックし、リンクの場所をコピーしてブラウザに貼り付けると、問題なく動作します...ただし、これらのいくつかの余分な手順は避けたいと思います。

リンクは mywebsite/directory#12345678 のように見えますが、ブラウザでは次のように開きます: mywebsite/directory は機能しません。

いくつかの検索から、# が機能へのフライを有効にするために使用されていることがわかります (以下を参照)。# とパラメータを切り取らずに、Google Earth が完全なフラグメント URL をブラウザに送信できるようにするための回避策または修正方法はありますか?

--Google Earth 開発者グループより

要素の使用によって指定されるその他の動作 KML は、要素内で href と type という 2 つの属性の使用をサポートします。

アンカー要素には、URL を指定する href 属性が含まれています。

href が KML ファイルで、ファイル拡張子が .kml または .kmz の場合、ユーザーがファイルをクリックすると、Google Earth はそのファイルを直接読み込みます。URL が Google Earth に認識されない拡張子 (.html など) で終わっている場合、その URL はブラウザに送信されます。

href はフラグメント URL (つまり、# 記号の後に KML 識別子が続く URL) にすることができます。ユーザーがフラグメント URL を含むリンクをクリックすると、デフォルトでは、ブラウザーは ID がフラグメントと一致するフィーチャーに移動します。Feature に LookAt または Camera 要素がある場合、Feature は指定された視点から表示されます。

次の 3 つの文字列のいずれかをフラグメント URL に追加することで、動作をさらに指定できます。

•;flyto (デフォルト) - フィーチャに飛ぶ •;バルーン - フィーチャのバルーンを開くが、フィーチャには飛ばない •;balloonFlyto - フィーチャのバルーンを開いて、フィーチャに飛ぶ

アイデア、提案、または回避策をいただければ幸いです。

4

1 に答える 1

0

ターゲット URL "mywebsite/directory" が適切なアンカー (例: 1234578) で定義されたターゲット ID を持つ HTML ドキュメントになる場合、通常は Google Earth から KML 経由でリンクをクリックしてアクセスできます。

KML での URL のエスケープ方法に問題がある可能性があります。CDATA ブロックを介して機能の説明で HTML をラップすると役立つ場合があります。

ここでは、KML のリンクの URL に「#」が含まれていると、期待どおりに機能します。

KML

<?xml version='1.0'?>
<kml xmlns='http://www.opengis.net/kml/2.2'>
<Placemark>
    <description>
        <![CDATA[
        Visiting a linked resource.
        See <a href="http://www.w3.org/TR/html401/struct/links.html#h-12.1.1">reference</a>
        ]]>
    </description>
</Placemark>
</kml>

ターゲット HTML links.html

<html>
...
<h3><a name="h-12.1.1">12.1.1</a> Visiting a linked resource</h3>
...
</html>

Web ブラウザが Google Earth の外部または内部として構成されているかどうかで、動作が異なる場合があります。[ツール] → [オプション] → [全般] メニューで、[ Web 結果を外部ブラウザーに表示] オプションをオンまたはオフにして、アクションが変わるかどうかを確認します。

于 2013-09-17T18:05:30.623 に答える