gpt4 book ai didi

javascript - google maps fusiontable 图层正在加载或完成加载时触发事件?

转载 作者:行者123 更新时间:2023-12-01 08:00:45 25 4
gpt4 key购买 nike

我正在使用 Google Maps Api 从融合表中加载大量数据。我使用下面的代码将数据作为图层添加到 map 中(不相关的代码已被省略)

function initialize() {

var tableId = 'xyxyxyxyxyxyxyxyxy';
map = new google.maps.Map(document.getElementById('map-canvas'), {
center: new google.maps.LatLng(51.522416,-0.11673),
zoom: 9,
mapTypeId: google.maps.MapTypeId.ROADMAP
});

var layer = new google.maps.FusionTablesLayer();

google.maps.event.addDomListener(
document.getElementById('checkbox_id'),
'click',
function() { filterMap(layer, tableId, map); }
);

}

function filterMap(layer, tableId, map, generated) {

var the_where_query = generate_where()

layer.setOptions({
query: {
select: 'geometry',
from: tableId,
where: the_where_query
},
options : {suppressInfoWindows:true}
});
}

我的问题是点击复选框和 map 上显示的数据之间存在很大差距。我希望能够以某种方式监听一个事件,这样我就可以

  1. 当用户点击复选框时显示加载的 div 元素
  2. 当 layer.setOptions 返回时隐藏加载的 div 元素。

我了解如何使用 div 进行 DOM 工作,但我似乎无法找到一种好方法来判断查询是否已从融合表查找返回(有时可能需要 1 到 2 秒)

最佳答案

如果它已加载,您可以放置​​一个监听器来捕获。 status_changed 事件是为此创建的。

google.maps.event.addListener(layer, 'status_changed', function() {
--your code here
});

或者,您可以使用 properties_changed 事件,该事件将在加载后触发。

关于javascript - google maps fusiontable 图层正在加载或完成加载时触发事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18249073/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com