Google maps 我如何让MarkerClusterer在这里工作?

Google maps 我如何让MarkerClusterer在这里工作?,google-maps,google-maps-api-3,google-maps-markers,markerclusterer,Google Maps,Google Maps Api 3,Google Maps Markers,Markerclusterer,我正在尝试将MarkerClusterer库实现到我的地图中,但迄今为止没有成功。以下是迄今为止我的代码,下面是我在JavaScript控制台中收到的错误: 在initialize函数中,除了创建地图外,还显示如何创建标记: var a = []; var t = { name:"name1", lat:parseFloat(123), lng:parseFloat(-123), address:"address1", link:"link1",

我正在尝试将MarkerClusterer库实现到我的地图中,但迄今为止没有成功。以下是迄今为止我的代码,下面是我在JavaScript控制台中收到的错误:

在initialize函数中,除了创建地图外,还显示如何创建标记:

  var a = [];
  var t =  {
    name:"name1",
    lat:parseFloat(123),
    lng:parseFloat(-123),
    address:"address1",
    link:"link1",
    site:""
  }
    a[0] = t;

  var t = {
    name:"name2",
    lat:parseFloat(234),
    lng:parseFloat(-234),
    address:"address2",
    link:"link2",
    site:""
  }
    a[1] = t;



for (var i = 0; i < a.length; i++) {
    var latlng = new google.maps.LatLng(a[i].lat,a[i].lng);
    map.addMarker(createMarker(a[i].name,latlng,a[i].address,a[i].link,a[i].site));
 };
var a=[];
变量t={
名称:“名称1”,
lat:parseFloat(123),
液化天然气:浮球(-123),
地址:“地址1”,
链接:“链接1”,
地点:“
}
a[0]=t;
变量t={
名称:“名称2”,
lat:parseFloat(234),
液化天然气:浮球(-234),
地址:“地址2”,
链接:“链接2”,
地点:“
}
a[1]=t;
对于(变量i=0;i
在初始化函数之外:

      function createMarker(name,latlng,address,link,site) {
        var marker = new google.maps.Marker({position: latlng});
        a.push(marker);
        google.maps.event.addListener(marker, "click", function() {
          if (infowindow) infowindow.close();
          infowindow = new google.maps.InfoWindow({content:"<div class='buildingInfo'>" + name + "<br>" + "<a href='" + link + "'>" + address +"</a>" + "</div>"});
          infowindow.open(map, marker);
        });
        return marker;
函数createMarker(名称、板条、地址、链接、站点){
var marker=new google.maps.marker({position:latlng});
a、 推(标记);
google.maps.event.addListener(标记“单击”,函数(){
if(infowindow)infowindow.close();
infowindow=new google.maps.infowindow({content:“+name+”
“+”+”); 信息窗口。打开(地图、标记); }); 返回标记;
标记都创建得很好,我只是不确定我是否正确实现了MarkerClusterer代码

我得到的错误是:

未捕获的TypeError:无法读取未定义的属性“push”

所以我的大问题是:为什么一个变量是未定义的?我把var a;放在所有函数之外,使它成为全局变量。

明白了


因为a已经在其他地方使用了,所以我真正需要做的就是添加一个新的数组,markers[]这不是我的问题。我用一个随机数替换了我的跳线,这样就不会显示位置。我的标记出现了,我从来没有说过它们没有出现。我的问题是如何让MarkersClusterer在这里工作。请提供一个例子来说明你的问题。你有没有看过类似的问题我测试了它的代码。你看到我粘贴的地方了吗?我得到的错误是什么?我看了其他问题,所以,这就是我得到a.push(marker);&markerClusterer=newmarkerclusterer(map,a);我似乎无法让它们工作。在我的问题中有了更新的代码,我现在得到了这个错误:无法通过另一篇文章读取未定义的属性“push”。我看到他们的问题是错误的版本。我现在使用的是版本2.1.1,但仍然出现错误。