重新设置侧边栏中的Google地图信息窗口的滚动条

时间:2013-10-03 17:56:21

标签: javascript google-maps

我对此有点新鲜,但我有一张基于Fusion Tables文档的Google Map。我已经抑制了默认的infowindow,因此所有infowindow内容现在都显示在地图左侧的侧边栏中。

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

以下是运行地图的代码:

<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>

2 个答案:

答案 0 :(得分:1)

我担心没有工作,但我确实找到了解决方案:

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

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

我不知道为什么其他解决方案无效。

答案 1 :(得分:0)

我相信这已经足够了

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

         sidebar.innerHTML = e.infoWindowHtml;
         sidebar.scrollTo(0, 0);
});