【发布时间】:2015-04-22 18:09:12
【问题描述】:
我试图调用 $.getJSON 两次,并在一个信息窗口中使用这两个数据。这是一个混搭,用于在 Google Maps API 信息窗口中显示来自 Google 新闻的文章以及“财富”(来自 RSS 提要)。我将单击事件侦听器和信息窗口块放在 $.getJSON("articles.php") 调用中,因此下面的代码可以显示文章,但我无法确定要显示的正确结构财富,因为它在一个单独的 $.getJSON 中,有它自己的范围。有没有办法让这个工作?
function addMarker(place)
{
var image = 'http://maps.google.com/mapfiles/kml/pal2/icon31.png';
var myLatlng = new google.maps.LatLng(parseFloat(place.latitude), parseFloat(place.longitude));
//make markers and push to array.
var marker = new MarkerWithLabel({
position: myLatlng,
map: map,
icon: image,
labelClass: "labels",
labelContent: place.place_name,
labelAnchor: new google.maps.Point(20,0),
});
markers.push(marker);
// getJSON fortune from RSS feed.
var fortune = [];
$.getJSON("fortunes.php").done(function(data, textStatus, jqXHR) {
var content = data;
var len = data.length;
if (content.length < 1)
{
var fortune = "test";
}
else
{
fortune = content;
}
});
// getJSON articles from Google News rss feed.
var query = place.postal_code;
var articles = "News service currently unavailable.";
var parameter = { "geo": query };
$.getJSON("articles.php", parameter).done(function(data, textStatus, jqXHR) {
var content = data;
var len = data.length;
if (content.length < 1)
{
articles = "Slow news day."
}
else
{
articles = "<ul>";
// put articles in unordered list
for (var i = 0; i < len; i++) {
articles += "<div><li> <a href=\"" + data[i].link + "\" target=\"_blank\">" + data[i].title + "</li></div>";
}
articles += "</ul><div><p>FORTUNE</p><p>" + fortune.length + "</p></div>";
}
// Listener for info window
google.maps.event.addListener(marker, 'click', function() {
infowindow.open(map,marker);
});
// Info window
var infowindow = new google.maps.InfoWindow({
content: articles
});
});
}
【问题讨论】:
标签: javascript google-maps-api-3 getjson infowindow