Javascript Google Maps API的信息窗口中没有来自数组的文本

Javascript Google Maps API的信息窗口中没有来自数组的文本,javascript,google-maps-api-3,Javascript,Google Maps Api 3,我正在从他们的API构建这个Google地图,但是我不能在InfoWindow中编写文本。如何使用代码中显示的jsonp数组编写每个国家的名称?我的目标是能够将任何其他数组中的任何指示器添加到InfoWindow中 var map; function initMap() { map = new google.maps.Map(document.getElementById('map'), { zoom: 2, center: new google.maps

我正在从他们的API构建这个Google地图,但是我不能在InfoWindow中编写文本。如何使用代码中显示的jsonp数组编写每个国家的名称?我的目标是能够将任何其他数组中的任何指示器添加到InfoWindow中

var map;
function initMap() {
    map = new google.maps.Map(document.getElementById('map'), {
        zoom: 2,
        center: new google.maps.LatLng(25, 25),
    });
    var url_countries = 'http://api.worldbank.org/countries/all?format=jsonp&prefix=Getdata&per_page=304';
    var query_url_countries = url_countries;
    console.log(query_url_countries);

    var script = document.createElement('script');
    script.src = query_url_countries;
    document.getElementsByTagName('head')[0].appendChild(script);
}

window.Getdata = function(data) {
    var country_data = data[1].map(function(item) {
        return {
            country: item.name,
            longitude: item.longitude,
            latitude: item.latitude,
        }
    });
    console.log(country_data)
    for (i = 0; i < country_data.length; i++) {
        var country_display_data = country_data[i];
        var latLng = new google.maps.LatLng(country_display_data.latitude, country_display_data.longitude);
        var contentString = country_display_data.country[i];
        var infowindow = new google.maps.InfoWindow({
        content: contentString,
        });
        var marker = new google.maps.Marker({
        position: latLng,
        map: map,
        });
        marker.addListener('click', function() {
          infowindow.setContent(this.contentString);
          infowindow.open(map, this);
          map.setCenter(this.getPosition());
        });
    }
}
var映射;
函数initMap(){
map=new google.maps.map(document.getElementById('map'){
缩放:2,
中心:新google.maps.LatLng(25,25),
});
var url_国家/地区http://api.worldbank.org/countries/all?format=jsonp&prefix=Getdata&per_page=304';
var query\u url\u countries=url\u countries;
console.log(查询url\u国家);
var script=document.createElement('script');
script.src=query\u url\u国家;
document.getElementsByTagName('head')[0].appendChild(脚本);
}
window.Getdata=函数(数据){
var country_data=数据[1]。地图(功能(项目){
返回{
国家:item.name,
经度:item.longitude,
纬度:item.latitude,
}
});
console.log(国家/地区数据)
对于(i=0;i
您的代码有两个问题:

  • a没有
    contentString
    属性。您可以通过在构造函数中的

  • country\u display\u data.country
    是一个字符串,因此
    var contentString=country\u display\u data.country[i]是一个字母

  • 代码片段:

    var映射;
    函数initMap(){
    map=new google.maps.map(document.getElementById('map'){
    缩放:2,
    中心:新google.maps.LatLng(25,25),
    });
    var url_国家/地区http://api.worldbank.org/countries/all?format=jsonp&prefix=Getdata&per_page=304';
    var query\u url\u countries=url\u countries;
    console.log(查询url\u国家);
    var script=document.createElement('script');
    script.src=query\u url\u国家;
    document.getElementsByTagName('head')[0].appendChild(脚本);
    }
    window.Getdata=函数(数据){
    var country_data=数据[1]。地图(功能(项目){
    返回{
    国家:item.name,
    经度:item.longitude,
    纬度:item.latitude,
    }
    });
    console.log(国家/地区数据)
    对于(i=0;i
    
    html,
    身体,
    #地图{
    身高:100%;
    宽度:100%;
    边际:0px;
    填充:0px
    }

    非常感谢,伙计。
    var contentString = country_display_data.country;
    var marker = new google.maps.Marker({
      position: latLng,
      map: map,
      contentString: contentString
    });