-1

複数のマーカーを持つ Google マップ v3 マップがあり、それぞれにリンクが含まれる情報ウィンドウがあります。リンク自体は、xml ファイルから読み込まれた map init 関数から動的に作成されます。

マーカーのパラメーターをphpページのクエリ文字列として渡すことで、問題なくリンクから新しいページを開くことができます。ページ上の外部リンクで div のコンテンツを更新することもできますが、クエリ文字列パラメーターを Google マップから渡すことはできません。

私がしたいのは、情報ウィンドウのリンクをクリックして、クエリ文字列をパラメーターとして渡す外部phpファイルから呼び出されたコンテンツを同じページに別のdivにロードすることです。

これにより、情報ウィンドウにリンクが作成されます。

if (markers[i].getAttribute("mtype")=='Malware'){
              if (markers[i].getAttribute("amount")<10){var cimg = new google.maps.MarkerImage("msmall.png");}
              if (markers[i].getAttribute("amount")>20){var cimg = new google.maps.MarkerImage("mmed.png");}                          if (markers[i].getAttribute("amount")>50){var cimg = new google.maps.MarkerImage("mlarge.png");}
              var links = '<a href="#" id="ipdetail">IP Details</a>';  
          }

これは、div を更新するコードです: (現在、ハードコードされたパラメーターを使用)

<script> $(function() {
    $('a[href=#]').click(function() {
        $('#udt').load('whois.php?208.73.210.29');
        return false;
    }); }); </script>

助けてくれてありがとう、私は検索して検索しましたが、実際にはGoogleマップの情報ウィンドウ内から外部divを動的に更新することについて何かを見つけることができませんでした. 私の最善の推測は、何らかの方法でリンククリックイベントをDOMハンドラーに渡す必要があるということですが、jscriptとjqueryに比較的慣れていないため、これについてどうすればよいかわかりません。

4

1 に答える 1

1

他の誰かがこれを必要とする場合に備えて、解決策を見つけることができました。

関数内で外部を呼び出すスクリプトを配置し、クリック イベントをリンクに追加して関数を呼び出します。それは正常に動作します。

var links = '<a href="javascript:void();" onclick="markup();">IP Details</a>';

function markup(){
$(function() {
        $('#udt').load('whois.php?208.73.210.29');
        return false;
});
}

#udt は div の名前です。

于 2012-05-31T08:29:04.017 に答える