Javascript $.getJSON、google.maps.infowindow和内容字符串
该代码应该添加一个单击事件,其中一个信息窗口在带有PHP页面数据的标记上打开,它“工作”,除了第一个信息窗口打开为空白(仅在h1中表示新闻),之后我打开的每个其他信息窗口都包含上一个标记的内容。有人能告诉我怎么修吗Javascript $.getJSON、google.maps.infowindow和内容字符串,javascript,json,google-maps,edx,mashup,Javascript,Json,Google Maps,Edx,Mashup,该代码应该添加一个单击事件,其中一个信息窗口在带有PHP页面数据的标记上打开,它“工作”,除了第一个信息窗口打开为空白(仅在h1中表示新闻),之后我打开的每个其他信息窗口都包含上一个标记的内容。有人能告诉我怎么修吗 //broken part marker.addListener('click', function() { $.getJSON('articles.php/GET?geo='+ marker.title) .done(function(data, textStatu
//broken part
marker.addListener('click', function() {
$.getJSON('articles.php/GET?geo='+ marker.title)
.done(function(data, textStatus, jqXHR) {
$.each(data, function() {
contentString=contentString + '<li><a href=' + data[counter].link + '>' +data[counter].title + '</a></li>' ;
counter++;
});
});
contentString=contentString + '</ul></div>' ;
var infowindow= new google.maps.InfoWindow({
content: contentString
});
infowindow.open(map, marker);
counter=0 ;
contentString='<div align="center"><h1>news</h1><br></div><div align="left" colour="blue"><ul>';
});
//断开的部分
marker.addListener('click',function()){
$.getJSON('articles.php/GET?geo='+marker.title)
.done(函数(数据、文本状态、jqXHR){
$.each(数据,函数(){
contentString=contentString+'';
计数器++;
});
});
contentString=contentString+'';
var infowindow=new google.maps.infowindow({
内容:contentString
});
信息窗口。打开(地图、标记);
计数器=0;
contentString='news
';
});
$。getJSON是异步的,您需要在其回调函数中使用数据,无论何时何地(在.done
函数中)
marker.addListener('click',function(){
$.getJSON('articles.php/GET?geo='+marker.title)
.done(函数(数据、文本状态、jqXHR){
$.each(数据,函数(){
contentString=contentString+'';
计数器++;
});
contentString=contentString+'';
var infowindow=new google.maps.infowindow({
内容:contentString
});
信息窗口。打开(地图、标记);
计数器=0;
contentString='news
';
});
});
很多thx,这就是我最初使用它的方式,但它在页面上不断给我错误,我想我只是有一些语法问题,因为它工作得很好。
marker.addListener('click', function() {
$.getJSON('articles.php/GET?geo='+ marker.title)
.done(function(data, textStatus, jqXHR) {
$.each(data, function() {
contentString=contentString + '<li><a href=' + data[counter].link + '>' +data[counter].title + '</a></li>' ;
counter++;
});
contentString=contentString + '</ul></div>' ;
var infowindow= new google.maps.InfoWindow({
content: contentString
});
infowindow.open(map, marker);
counter=0 ;
contentString='<div align="center"><h1>news</h1><br></div><div align="left" colour="blue"><ul>';
});
});