【发布时间】: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