1

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

4

1 回答 1

1

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

1.suppressinfoWindows:true

  1. 创建我自己的信息窗口
  2. 为 FusionTablesLayer 创建 openInfoWindow click 事件处理程序,这里是 layer2

为 FusionTablesLayer 创建 openInfoWindow click 事件处理程序,这里是 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());
});
于 2012-11-01T19:50:42.083 回答