0

我对此有点陌生,但我有一个基于 Fusion Tables 文档的谷歌地图。我已取消默认信息窗口,因此所有信息窗口内容现在都显示在地图左侧的边栏中。

当您单击包含大量信息的位置时,侧边栏中会出现一个滚动条。但是,如果您滚动到底部,然后单击另一个包含大量信息的标记,则侧边栏会在窗口底部大致保持“滚动”状态。理想情况下,我希望每次单击位置标记时将侧边栏窗口滚动到顶部。任何建议将不胜感激。

这是运行地图的代码:

<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
<script type="text/javascript">
  function initialize() {
    google.maps.visualRefresh = true;
    var map = new google.maps.Map(document.getElementById('googft-mapCanvas'), {
      center: new google.maps.LatLng(22.538753, 18.037109),
      zoom: 2,
      panControl: false,
      zoomControl: true,
      mapTypeId: google.maps.MapTypeId.ROADMAP,

    });

    layer = new google.maps.FusionTablesLayer({
      map: map,
      suppressInfoWindows: true,
      heatmap: { enabled: false },
      query: {
        select: "col0",
        from: "1p1iLd40kwI3p-krwucgAxxZvhknmiFuZgHk0Q_g",
        where: ""
      },
    options: {
    styleId: 2,
    templateId: 2
      }
    });

    google.maps.event.addListener(layer, 'click', function(e) {
        document.getElementById("sidebar").innerHTML = e.infoWindowHtml;

}); 

  }

  google.maps.event.addDomListener(window, 'load', initialize);

</script>
4

2 回答 2

1

恐怕这不起作用,但我确实找到了解决方案:

google.maps.event.addListener(layer, 'click', function(e) {
        var sidebar = document.getElementById("sidebar");

        sidebar.inner HTML = e.infoWindowHtml;
        sidebar.scrollTop = 0;

我不知道为什么其他解决方案不起作用。

于 2013-10-04T13:38:16.993 回答
0

我相信这就足够了

google.maps.event.addListener(layer, 'click', function(e) {
        var sidebar = document.getElementById("sidebar");

         sidebar.innerHTML = e.infoWindowHtml;
         sidebar.scrollTo(0, 0);
}); 
于 2013-10-03T19:01:14.290 回答