Я пытаюсь вызвать $ .getJSON дважды и использовать данные из обоих в одном информационном окне. Это mashup для отображения статей из Новостей Google вместе с «удачей» (из RSS-канала) в инфо-окнах API Карт Google. Я поместил прослушиватель событий нажатия и окно информационного окна внутри вызова $ .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
});
});
}
Я так ново для кодирования. Я пытаюсь понять, как это использовать. Должен ли я использовать $ .getJSON()? Я получаю свои статьи из своего php-файла, который получает данные из Google. Такая же ситуация для моего файла fortunes.php. –
Я вижу, что ваш код работает, но я пытаюсь понять, как его поместить в мое информационное окно. Больше предложений было бы здорово. Спасибо за помощь! –
В примере кода используется служба echo от jsfiddler и требуется, чтобы код был определенным образом, поэтому вы можете использовать '.getJSON'. Следуйте структуре примера и перемещайте свой код, возможно, обновите свой вопрос с изменениями, чтобы его можно было пересмотреть. – Jonathan