我希望有人可以帮助解决一个可能相当简单的查询。我在这里看到了一个有关尝试在不单击鼠标的情况下执行此操作的问题,但我想向 Fusion Table 地图上的标记添加一个事件侦听器,该事件侦听器将在地图下方的单独 div 中加载 infoWindow 内容。到目前为止,我已经抑制了 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);
});
EDIT:
为了让大家开心,这是我迄今为止尝试过的:
google.maps.event.addListener(layer, "click", function () {
$('#infoWindowDiv').append('new google.maps.infoWindowHtml');
});
没有人会对它不起作用感到惊讶。但是嘿,至少我在努力!谢谢
EDIT 2:
我很高兴地说我找到了一个有效的解决方案 - 我将其发布在这里供其他可能有相同问题/目标的人使用:
google.maps.event.addListener(layer, "click", function (e) {
document.getElementById("infoWindowDiv").innerHTML = e.infoWindowHtml;
});