-1

我有一个带有多个标记的谷歌地图 v3 地图,每个标记都有一个信息窗口,里面有一个链接。链接本身是通过从 xml 文件读取的 map init 函数动态创建的。

我可以使链接毫无问题地打开一个新页面,将标记的参数作为 php 页面的查询字符串传递。我还可以使页面上的外部链接刷新 div 的内容,但不将查询字符串参数从谷歌地图中传递出去。

我想要做的是单击信息窗口中的链接,该链接将在同一页面上加载另一个 div,其中包含从外部 php 文件调用的内容,并将查询字符串作为参数传递。

这将在信息窗口中创建链接:

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>

感谢您的帮助,我进行了搜索和搜索,但实际上还没有找到任何关于从谷歌地图信息窗口中动态更新外部 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 回答