Javascript 将Infowindow添加到每5秒刷新一次的阵列标记Google map

Javascript 将Infowindow添加到每5秒刷新一次的阵列标记Google map,javascript,arrays,google-maps,google-maps-api-3,infowindow,Javascript,Arrays,Google Maps,Google Maps Api 3,Infowindow,我按照这个示例()在地图上每隔5秒刷新标记的位置。现在,我不明白如何使用不同的变量(不包括时间和地理位置,也不包括Beads数组的第5个元素)向每个标记添加信息窗口 var映射; 变量标记=[];//创建一个标记数组来保存标记 函数初始化(){ 变量映射选项={ 缩放:5, 中心:新google.maps.LatLng(10,12), mapTypeId:google.maps.mapTypeId.SATELLITE } map=new google.maps.map(document.getE

我按照这个示例()在地图上每隔5秒刷新标记的位置。现在,我不明白如何使用不同的变量(不包括时间和地理位置,也不包括Beads数组的第5个元素)向每个标记添加信息窗口

var映射;
变量标记=[];//创建一个标记数组来保存标记
函数初始化(){
变量映射选项={
缩放:5,
中心:新google.maps.LatLng(10,12),
mapTypeId:google.maps.mapTypeId.SATELLITE
}
map=new google.maps.map(document.getElementById('map-canvas'),mapOptions);
设置标记(泳滩);;
//在按钮上绑定事件侦听器以重新加载标记
//document.getElementById('reloadMarkers')。addEventListener('click',reloadMarkers');
}
var n=0;
setInterval(函数重载标记(){
n++;
var海滩=[
['Bondi Beach',10+n,10+n,5],
['Coogee Beach',北纬10度,北纬11度,北纬5度],
[‘克罗努拉海滩’,北纬10度,北纬12度,北纬3度],
[“曼利海滩”,北纬10度,北纬13度,2度],
['Maroubra Beach',10,14,1]
];
//循环遍历标记,并将每个标记的映射设置为null

对于(var i=0;i在SetMarkers()中定义infowindow变量)

var infowindow=new google.maps.infowindow()

这是addListener()的一部分

工作示例


您的问题中没有添加信息窗口的代码。您尝试了什么(我想您已经看到了)?您遇到了什么问题?您的代码没有显示向地图添加信息窗口的尝试。有足够多的教程和文档可以轻松回答您的问题。我已经编辑了我的测试,添加google.maps.event.addListener(标记“单击”)后,该测试不起作用你能告诉我一个这样做的教程吗?你甚至检查了第一条注释中的链接吗?那里的第一个代码示例向你展示了如何做到这一点!是的,我确实检查了,但这是针对单个标记的,我不明白如何将该示例准确地集成到一个数组中。
var map;
var markers = []; // Create a marker array to hold your markers
function initialize() {
    var mapOptions = {
        zoom: 5,
        center: new google.maps.LatLng(10,12),
        mapTypeId: google.maps.MapTypeId.SATELLITE
    }

    map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);

    setMarkers(beaches);

    // Bind event listener on button to reload markers
    //document.getElementById('reloadMarkers').addEventListener('click', reloadMarkers);
}

var n = 0;
setInterval(function reloadMarkers() {
  n++;
  var beaches = [
        ['Bondi Beach', 10+n, 10+n, 5],
        ['Coogee Beach', 10-n, 11-n, 5],
        ['Cronulla Beach', 10-n, 12+n, 3],
        ['Manly Beach', 10+n, 13-n, 2],
        ['Maroubra Beach', 10, 14, 1]
    ];
    // Loop through markers and set map to null for each
    for (var i=0; i<markers.length; i++) {
        markers[i].setMap(null);
    }
    // Reset the markers array
    markers = [];
    // Call set markers to re-add markers
    setMarkers(beaches);

      var infowindow = new google.maps.InfoWindow({
        content: "infowindowstringg"
      });
    marker.addListener('click', function() {
        infowindow.open(map, marker);
      });

}, 5000);

function setMarkers(locations) {
    for (var i = 0; i < locations.length; i++) {
        var beach = locations[i];
        var myLatLng = new google.maps.LatLng(beach[1], beach[2]);
        var marker = new google.maps.Marker({
            position: myLatLng,
            map: map,
            animation: google.maps.Animation.DROP,
            title: beach[0],
            zIndex: beach[3]
        });
        google.maps.event.addListener(marker, 'click', )
        // Push marker to markers array
        markers.push(marker);
    }
}



initialize();
    google.maps.event.addListener(marker, 'click', (function (marker, i) {
        return function () {
           infowindow.setContent(beaches[i][0]);
           infowindow.open(map, marker);
        }
    })(marker, i));