FusionTablesLayer infoWindow重新样式没有出现在网页中

时间:2012-10-30 21:18:44

标签: google-fusion-tables infowindow

在我的网页中,我使用FusionTablesLayer来自FusionTable View的数据和infoWindow样式。他们工作得很好。但是,我做了一个重新样式来改变图像显示的大小,以及字体大小,字体颜色。我可以看到来自Fusion Table Map的更改,我还可以看到tableId和encripted tableId之后没有更改,并且保存了信息,但是我无法从我的网页看到更改。我在这里错过了什么吗?有什么建议??

1 个答案:

答案 0 :(得分:1)

我通过执行以下操作不使用FusionTablesLayer附带的infoWindow解决了这个问题:

1.suppressinfoWindows:真

  1. 创建我自己的infoWindow
  2. 在这里为FusionTablesLayer创建openInfoWindow点击事件处理程序,它是layer2
  3. 为FusionTablesLayer创建openInfoWindow点击事件处理程序,这里是layer2

    像这样:

    var map;
    var infoWindow = new google.maps.InfoWindow();
    function openInfoWindow(FTevent) {
        var contentStr = "<div class='googft-info-window' style='font-family:Arial, Helvetica, sans-serif; font-size: 12px; margin: 0; padding:0; background-color: #ffffff;'>";
       contentStr += "<h5 style='margin-top: 0; margin-bottom: 15px; color: #009AA6;'>" + FTevent.row['NAME'].value + "</h5>";
       contentStr += "<div style='text-align: center; width: 300px; height: 220px;'>";
       contentStr += "<img src=" + FTevent.row['URLIMAGE'].value +  " style='vertical-align: top; max-width: 300px; max-height: 220px;'><br>";
       contentStr += "</div></div>";
       infoWindow.setOptions({
       content: contentStr,
       position: FTevent.latLng,
       pixelOffset: FTevent.pixelOffset
    });
    infoWindow.open(map);
    }
    function initialize() {
    .....
    google.maps.event.addListener(layer2, 'click', openInfoWindow);
    
    }
    

    通过这样做,我也可以收听infoWindow中的'closeclick',以及关闭infoWindow时的内容,如下所示:

      map.setZoom(7);
      map.panTo(centerMarker.getPosition());
    });