移动地图然后显示对话框

时间:2013-02-09 07:53:49

标签: javascript google-maps

我需要移动地图然后需要显示对话框。下面的代码显示对话框,然后地图获取移动,这是完全相反的行为。

function showDetails(property_id)
{
    map.panBy(300,0);           
    sleep(3000);            
    window.showModalDialog("<?php echo base_url();?>index.php/admin/add_property_from_map/"+18+"/"+73);
}

function sleep(ms)
{
    var dt = new Date();
    dt.setTime(dt.getTime() + ms);
    while (new Date().getTime() < dt.getTime());
}   

2 个答案:

答案 0 :(得分:1)

只要游戏正在运行,您的睡眠功能就会阻止浏览器(即使地图的平移也会被阻止)。使用window.setTimeout()完成平移和对话之间的延迟。

答案 1 :(得分:1)

正如Molle博士指出的那样。 sleep()函数阻止对正在运行的任何其他代码的所有访问。使用setTimeout功能。像这样:

function showDetails(property_id)
{
    map.panBy(300,0);           
    window.setTimeout(function()
    {
        window.showModalDialog("<?php echo base_url();?>index.php/admin/add_property_from_map/"+18+"/"+73);
    }, 3000);
}