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

时间:2014-03-22 03:24:37

标签: javascript jquery google-maps google-maps-api-3 javascript-events

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

http://jquery-ui-map.googlecode.com/svn/trunk/demos/jquery-google-maps-clustering.html

我改变了这样的代码:

 $(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();
        });

因此,您可以看到我添加了以下行

 var mark1 = "hello";
 var mark2 = "bye";
 var temp = mark1;

我还添加了以下几行:

 if(i % 2===0)
                            {
                            temp=mark2;
                            }
                            else
                            {
                                  temp=mark1;
                            }

现在我希望我看到一些标记显示你好,一些节目再见,但它总是显示你好,从不显示再见。如何将某些标记的内容设置为再见,将某些标记设置为hellO?

1 个答案:

答案 0 :(得分:1)

这适合我(不使用函数关闭):

  $(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);
  });

working example (with hello/bye)

working example (displays "marker x" in infowindow)