提前感谢您的所有帮助。
我的目的是在从 Google Maps API 创建的地图上的每个标记的 InfoWindow 中显示一个 Twitter 小部件。以下是我如何去做的解释。主要问题在于 AJAX 代码。
- 在地图上,当我单击标记时,会从数据库中检索有关该标记的数据。然后该数据出现在标记的信息窗口中。一些数据包括标记唯一的 Twitter 小部件的代码。
- 这个 Twitter 小部件需要写入另一个文件,timeline.php。我已经尝试过使用 AJAX。
- 在 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 的证据。
再次,非常感谢。