我正在使用谷歌地图,并希望显示多个标记。 如果输入城市名称,地图将跳转到该位置,您将获得包含该地区所有公司的列表。按下按钮,每个公司都将显示在地图上。 标记应该稍微下降,所以我做了这样的函数:
$('#show_markers').click(function()
{
$('.div_with_information').each(function(index)
{
var location = $(this);//includes multiple infomations like lat, lng, name, info...
setTimeout(function()
{
set_marker(location);//function to create google marker with infobox ect.
},100*index);
});
});
这非常有效。我需要延迟一个漂亮的下拉动画并检查标记的坐标。 但有时会有许多标记要删除脚本需要很多时间。
我正在寻找的是完全阻止“标记雨”的功能。
$('#stop_button').click(stop_drop);
我尝试了很多东西,但没有按照我的意愿行事。 我希望你有一些好主意。
答案 0 :(得分:0)
var is_running = false;
var timeout;
$('#show_markers').click(function()
{
if (is_running)
return;
is_running = true;
var index = 0;
var divs = $('.div_with_information');
var num = divs.length;
timeout = setTimeout(on_set_marker_event, 100);
function on_set_marker_event()
{
var location = divs.eq(index);
set_marker(location);
index++;
if (is_running && index < num)
timeout = setTimeout(on_set_marker_event, 100);
});
});
$('#stop_button').click(function()
{
is_running = false;
clearTimeout(timeout);
});