0

特定の国を表す Google マップ上にマーカーの KML レイヤーがあります。ユーザーがマーカーをクリックすると、各マーカーの特定の URL に移動します。ここで、マーカーの作成時に onclick イベントを追加する方法を説明する回答を見てきましたが、KML ファイルから各マーカーに個別の onclick イベントを追加し、KM​​L ファイルから onclick イベントの URL 値を渡す必要があります。

次のように URL 値を KML ファイルに保存しています: http://example.com/countries/usa/

特定のマーカーに応答するイベント リスナーを KML レイヤーに追加できることがわかりましたが、マーカー オブジェクトを渡してコンソールに記録すると、KML ファイルに元々あった情報がまったく含まれていません。 .

google.maps.event.addListener(klmLayer, 'click', function(countryObject) {
  var marker = countryObject;
  console.log(marker);
});

上記の onclick 関数でユーザーを特定の URL に誘導できるように、KML ファイルから markerObject に値を渡す方法はありますか? そうでない場合、どのような選択肢がありますか?

ありがとう!

4

2 に答える 2

0

geoXML3 には方法があります。ここで初めて書きました。アイデアは、パーサーが KML ファイルを読み取るときにカスタム関数を渡すことです。description タグと styleURL タグに保存された URL を使用して、このKML ファイルを読み取る簡単な例を作成しました。大きな欠点は、geoXML3 に他のタグを読み取らせる方法がわからなかったことです。マーカーの上にマウスを移動して URL の 1 つのセットを取得し、クリックしてもう 1 つのセットを取得します。

私が直面したもう 1 つの障害は、Ajax のために、html と KML の両方を同じサーバーに配置する必要があることに気付いたことでした。オフラインで作業しているときは何もしませんでした。

于 2012-04-17T18:22:48.327 に答える
0

https://developers.google.com/kml/documentation/kml_tut#network_links

于 2012-04-17T17:43:32.940 に答える