1

提前感谢您的所有帮助。

我的目的是在从 Google Maps API 创建的地图上的每个标记的 InfoWindow 中显示一个 Twitter 小部件。以下是我如何去做的解释。主要问题在于 AJAX 代码。

  1. 在地图上,当我单击标记时,会从数据库中检索有关该标记的数据。然后该数据出现在标记的信息窗口中。一些数据包括标记唯一的 Twitter 小部件的代码。
  2. 这个 Twitter 小部件需要写入另一个文件,timeline.php。我已经尝试过使用 AJAX。
  3. 在 index.php 上,我在显示 InfoWindow 内容的代码中有一个 timeline.php 的 iframe。这将在 InfoWindow 中显示 twitter 小部件。

这是代码:

在 index.php 上...

   google.maps.event.addListener(marker, 'click', function () {

      $.ajax({
            url: 'timeline.php',
            type: 'POST',
            data  : {twitter: val[8]}, 
            dataType: 'html',
            success: function(data) {
                alert(data);
                },
                error : function(err, req) {
                    alert("Your browser broke!");
                }
       });

         infowindow.setContent(
            "<div class='marker_title'>"+val[0]+"</div>"
            + "<div class='marker_uri'><a target='_blank' href='"+markerURI+"'>"+markerURI_short+"</a></div>"
            + "<div class='marker_desc'>"+val[4]+"</div>"
            + "<div class='marker_happy'>Happy Hour: "+val[7]+"</div>"
            + "<div class='marker_address'>"+val[6]+"</div>"
            + "<div class='marker_edit'>"+"<a href='#modal_add' class='btn btn-large btn-success' data-toggle='modal'><i class='icon-plus-sign icon-white'>);"+"Edit this location"+"</a>"+"</div>"
            + "<iframe src='http://www.peopleofparty.com/radhatest/represent-map/timeline.php'></iframe>");

         infowindow.open(map, this);
         });

在timeline.php上

<?php
     echo htmlspecialchars_decode($_POST['twitter']);
?>

您可以在http://peopleofparty.com/radhatest/represent-map/上看到所有这些操作

如您所见,结果只是信息窗口中 Twitter 小部件应位于的空白区域。据我所知,弹出的对话框是 Twitter 小部件被写入timeline.php 的证据。

再次,非常感谢。

4

0 回答 0