我希望有人可以帮助解决可能相当简单的问题。我在这里看到了一个关于在没有鼠标点击的情况下尝试这样做的问题,但是我想在Fusion Table地图上的标记处添加一个事件监听器,它将把infoWindow内容加载到地图下方的单独div中。到目前为止,我已经抑制了infoWindow,但是在下一步添加点击时,我有点迷失,检索与该标记相关的数据并加载到div中。
标记显示仅限于用户位置设定半径范围内的标记,以减少加载时间。
我假设我需要从这样的事情开始:
google.maps.event.addListener(layer, 'click', function() {
我会感激任何线索。
到目前为止,这是我的代码的相关位:
var tableid = '[ID]';
var layer = new google.maps.FusionTablesLayer({
query: {
select: 'Location',
from: tableid,
where: 'ST_INTERSECTS(Location, CIRCLE(LATLNG'+marker.position+', 2000))'
},
options: {
suppressInfoWindows: true
}
});
var circle = new google.maps.Circle({
map: map,
radius: 2000,
fillOpacity: 0.1,
strokeOpacity: 0,
clickable: false
});
circle.bindTo('center', marker, 'position');
layer.setMap(map);
});
编辑:
为了每个人的娱乐,这是我到目前为止所尝试的:
google.maps.event.addListener(layer, "click", function () {
$('#infoWindowDiv').append('new google.maps.infoWindowHtml');
});
它可能会让人感到意外,因为它不起作用。但是,嘿,至少我在努力!感谢
编辑2:
我很高兴地说我找到了一个有效的解决方案 - 我在这里发布给其他可能有同样问题/目标的人:
google.maps.event.addListener(layer, "click", function (e) {
document.getElementById("infoWindowDiv").innerHTML = e.infoWindowHtml;
});
答案 0 :(得分:1)
我很高兴地说我找到了一个有效的解决方案 - 我在这里发布给其他可能有同样问题/目标的人:
google.maps.event.addListener(layer, "click", function (e) {
document.getElementById("infoWindowDiv").innerHTML = e.infoWindowHtml;
});