我对此有点新鲜,但我有一张基于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>
答案 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);
});