Javascript 为谷歌地图设置不同的内容不起作用,内容也不会更新

Javascript 为谷歌地图设置不同的内容不起作用,内容也不会更新,javascript,jquery,google-maps,google-maps-api-3,dom-events,Javascript,Jquery,Google Maps,Google Maps Api 3,Dom Events,我正在使用以下链接中的地图: 我更改了如下代码: $(function() { demo.add(function() { $('#map_canvas').gmap({'zoom': 2, 'disableDefaultUI':true}).bind('init', function(evt, map) { var bounds = map.getBounds();

我正在使用以下链接中的地图:

我更改了如下代码:

 $(function() { 
            demo.add(function() {
                $('#map_canvas').gmap({'zoom': 2, 'disableDefaultUI':true}).bind('init', function(evt, map) {
                    var bounds = map.getBounds();
                    var mark1 = "hello";
                    var mark2 = "bye";
                    var temp = mark1;
                    var southWest = bounds.getSouthWest();
                    var northEast = bounds.getNorthEast();
                    var lngSpan = northEast.lng() - southWest.lng();
                    var latSpan = northEast.lat() - southWest.lat();
                    for (var i = 0; i < 1000; i++) {
                            if(i % 2===0)
                            {
                            temp=mark2;
                            }
                            else
                            {
                                  temp=mark1;
                            }
                        $(this).gmap('addMarker', { 'position': new google.maps.LatLng(southWest.lat() + latSpan * Math.random(), southWest.lng() + lngSpan * Math.random()) } ).click(function() {
                            $('#map_canvas').gmap('openInfoWindow', { content : temp }, this);
                        });
                    }
                    $(this).gmap('set', 'MarkerClusterer', new MarkerClusterer(map, $(this).gmap('get', 'markers')));
                });
            }).load();
        });
我还添加了以下几行:

 if(i % 2===0)
                            {
                            temp=mark2;
                            }
                            else
                            {
                                  temp=mark1;
                            }
现在我希望我看到一些标记来表示问候,一些表示再见,但它总是表示问候,而从不表示再见。如何将某些标记的内容设置为“再见”,而将某些标记的内容设置为“你好”?

这对我很有用(不使用函数闭包):


感谢您的回答,可能是重复的,我看了那个链接和那里提供的代码很多,但由于我是javascript新手,而且代码相当不同,我无法适应我的代码,我理解这是闭包问题,但当我尝试适应你提供的链接中的代码时,我失去了map的集群效应,你能指导我如何用jquery解决这个问题吗我提供的代码?这不是一个非常现实的用例。你真的打算如何使用这段代码。你太棒了,你帮了我很多:)
 if(i % 2===0)
                            {
                            temp=mark2;
                            }
                            else
                            {
                                  temp=mark1;
                            }
  $(this).gmap('addMarker', 
    { 'position': new google.maps.LatLng(
         southWest.lat() + latSpan * Math.random(), 
         southWest.lng() + lngSpan * Math.random()),
      'content': temp 
    } 
  ).click(function(i) {
    $('#map_canvas').gmap('openInfoWindow', { 
       content : this.content }, this);
  });