【问题标题】:Callback with conditions crashing browsers (Javascript/google maps api)有条件的回调使浏览器崩溃(Javascript/google maps api)
【发布时间】:2014-05-12 22:38:28
【问题描述】:

我正在尝试编写一个方法,该方法将接收一些数据并尝试使用 google maps API 中的 .geocode 方法查找坐标。由于数据不完全正确,因此无法找到某些数据,因此不会为其分配坐标。所以我需要一个函数来存储正确数据的坐标或存储错误数据的“失败”。这就是我所拥有的:

function codeAdd(callback) {   
    geocoder.geocode( { 'address': geoName}, function(results, status) {
        if (status == google.maps.GeocoderStatus.OK) {
            var arr = [results[0].geometry.location.lat(),results[0].geometry.location.lng()];
            callback('ok',arr); 
        } else {
            callback('fail',null); 
        }

    }); 
}
function codeAddCall(){;
    codeAdd(function(status,callback) {
        if(status == 'ok'){
            latArray.push(callback[0]);
            lngArray.push(callback[1]);
            console.log("add success");
        }
        if(status == 'fail'){
            latArray.push("fail");
            lngArray.push("fail");
        }
        if((latArray.length==lngArray.length)&&(latArray.length==infArray.length)){
            convertToAssoc(infArray,latArray,lngArray);
        }
    });
}

但是,在“状态”条件下,它可以正确完成数据集,即将结果放在正确的位置,并且任何错误的数据都以“失败”的形式存储在 lat 和 lng 数组中。但是它会导致浏览器崩溃(最新版本的 chrome 和 firefox)。 我真的不明白为什么会这样? 仍然无法使任何工作都可以有人帮忙吗?

【问题讨论】:

  • 我其实也有同样的问题。但问题是当我在登录时运行它时,它工作正常。但是当我在注销时运行它(使用计划任务)时,页面中途崩溃并且不查询谷歌地图服务。你找到解决办法了吗?

标签: javascript callback conditional geocode


【解决方案1】:

你打错了:

function codeAddCall(){);
                       ^

也许这就是你的代码失败的原因。

【讨论】:

  • 这只是将代码放入问题中,但谢谢
猜你喜欢
  • 2013-01-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-02
  • 1970-01-01
  • 2016-05-13
  • 2012-11-02
  • 1970-01-01
相关资源
最近更新 更多