Javascript 如何将infowindow添加到集群标记

Javascript 如何将infowindow添加到集群标记,javascript,google-maps-api-3,infowindow,Javascript,Google Maps Api 3,Infowindow,这是我重新提出的问题 我正在通过markerclusterer.js整理一个随机的点数组来对它们进行聚类 for (var i = 0; i < 10; i++) { Markers[i] = new google.maps.Marker({ position: new google.maps.LatLng(45.5 + (Math.random()/200), -73.60 -(Math.random()/20)), map: map,

这是我重新提出的问题

我正在通过markerclusterer.js整理一个随机的点数组来对它们进行聚类

for (var i = 0; i < 10; i++) {
      Markers[i] = new google.maps.Marker({
        position: new google.maps.LatLng(45.5 + (Math.random()/200), -73.60 -(Math.random()/20)),
        map: map,
        title: i.toString()
      });

}
var mc = new MarkerClusterer(map,Markers,mcOptions);
这只是没有“缩放”行为的原始文件的副本

编辑::测试

我已经用console.log(mc.getMarkers())进行了测试;看看标记是否被识别,它返回给我[Bi,Bi,Bi,Bi,Bi,Bi,Bi,Bi,Bi,Bi]。所以现在我的问题是,我不知道如何处理Bi

Bi是一个包含我需要的所有信息的构造函数。所以我可以用它做我想做的事

现在我需要检查如果我缩放到下一个集群并单击它。。。它又给了我10个Bi。我需要知道如何只将其中的X个管理到新集群中

更新:我现在可以打开信息窗口了。这不是个好地方,但我可以打开它

更新(晚上7:00):我有我的信息窗口工作,但我可以无限量地打开它

这是密码

google.maps.event.addDomListener(this.div_, "click", function (e) {
  cMouseDownInCluster = false;
  if (!cDraggingMapByCluster) {
      var theBounds;
      var mz;
      var mc = cClusterIcon.cluster_.getMarkerClusterer();
      var Mrk_cluster = mc.getMarkers();


      /**
       * This event is fired when a cluster marker is clicked.
       * @name MarkerClusterer#click
       * @param {Cluster} c The cluster that was clicked.
       * @event
       */
      google.maps.event.trigger(mc, "click", cClusterIcon.cluster_);
      google.maps.event.trigger(mc, "clusterclick", cClusterIcon.cluster_); // deprecated name
      //test infowindow
        var contentString = '<div id="content">'+'<p>Test</p>' +'</div>';

        var infowindow = new google.maps.InfoWindow({
            content: contentString,
            position: new google.maps.LatLng(Mrk_cluster[0].position.lat(),Mrk_cluster[0].position.lng())
        });

          infowindow.open(map);



      console.log(mc.getMarkers());

      // Prevent event propagation to the map:
      e.cancelBubble = true;
      if (e.stopPropagation) {
          e.stopPropagation();
      }
  }
google.maps.event.addDomListener(this.div_,“click”,函数(e){
cmousedowncluster=false;
如果(!cDraggingMapByCluster){
变量界;
var-mz;
var mc=cClusterIcon.cluster_u2;.getMarkerClusterer();
var Mrk_cluster=mc.getMarkers();
/**
*单击群集标记时触发此事件。
*@name MarkerClusterer#点击
*@param{Cluster}c单击的群集。
*@事件
*/
google.maps.event.trigger(mc,“click”,cClusterIcon.cluster);
google.maps.event.trigger(mc,“clusterclick”,cClusterIcon.cluster);//不推荐使用的名称
//测试信息窗口
var contentString='+'Test

'+''; var infowindow=new google.maps.infowindow({ content:contentString, position:new google.maps.LatLng(Mrk_cluster[0]。position.lat(),Mrk_cluster[0]。position.lng() }); 打开(地图); log(mc.getMarkers()); //防止事件传播到映射: e、 取消气泡=真; 如果(如停止播放){ e、 停止传播(); } }
})); 所以我想找到一个可以阻止这种行为的触发器

google.maps.event.addDomListener(this.div_, "click", function (e) {
  cMouseDownInCluster = false;
  if (!cDraggingMapByCluster) {
      var theBounds;
      var mz;
      var mc = cClusterIcon.cluster_.getMarkerClusterer();
      var Mrk_cluster = mc.getMarkers();


      /**
       * This event is fired when a cluster marker is clicked.
       * @name MarkerClusterer#click
       * @param {Cluster} c The cluster that was clicked.
       * @event
       */
      google.maps.event.trigger(mc, "click", cClusterIcon.cluster_);
      google.maps.event.trigger(mc, "clusterclick", cClusterIcon.cluster_); // deprecated name
      //test infowindow
        var contentString = '<div id="content">'+'<p>Test</p>' +'</div>';

        var infowindow = new google.maps.InfoWindow({
            content: contentString,
            position: new google.maps.LatLng(Mrk_cluster[0].position.lat(),Mrk_cluster[0].position.lng())
        });

          infowindow.open(map);



      console.log(mc.getMarkers());

      // Prevent event propagation to the map:
      e.cancelBubble = true;
      if (e.stopPropagation) {
          e.stopPropagation();
      }
  }