Javascript 读取Json的数组

Javascript 读取Json的数组,javascript,jquery,arrays,json,Javascript,Jquery,Arrays,Json,我已经创建了一个函数,该函数尝试根据地址获取lat long,然后,我希望在控制台上打印这些内容 如何获取coords的值。。。。我这样做对吗?请帮助理解它 coords = getLocationCoords("Ambala,Haryana,India,134003"); console.log(coords) function getLocationCoords(fa){ var coords = []; $.get(location.protocol + '//nom

我已经创建了一个函数,该函数尝试根据地址获取lat long,然后,我希望在控制台上打印这些内容

如何获取coords的值。。。。我这样做对吗?请帮助理解它

coords = getLocationCoords("Ambala,Haryana,India,134003");
console.log(coords)

function getLocationCoords(fa){

    var coords = [];

    $.get(location.protocol + '//nominatim.openstreetmap.org/search?format=json&q='+fa, function(data){

        coords['lat'] = JSON.parse(data[0].lat);
        coords['lon'] = JSON.parse(data[0].lon);

    });

    return coords;
}//getLocationCoords

您无法将坐标作为“返回值”获取,因为没有要返回的内容。也就是说,在调用某个处理程序之前不会返回任何内容,这可能是0.2秒后,也可能是3秒后。但是如果处理程序返回它,您仍然无法获得它,因为分配立即发生。要解决这个问题,您还可以将其设置为“”,这样当值准备好时,您就可以
then()
it并处理该值,如下所示:

getLocationCoords(“印度哈里亚纳邦安巴拉,134003”)
。然后(数据=>{
coords=data.map(loc=>
({
横向:编号(位置横向),
lon:编号(位置lon)
})
);
log(“明白了”,coords);
});
函数getLocationCoords(fa){
return$.get(location.protocol+'//namitm.openstreetmap.org/search?format=json&q='+fa)
}

请为该语言添加标记首先需要删除
JSON.parse()
调用:
coords['lat']=data[0].lat等等。那么您更大的问题是
$.get()
调用是异步的,因此您需要更改代码以使回调正常工作,或者实现承诺。有关更多信息,请参阅副本谢谢您的回复。。。如何在“.then”之后获得坐标值。。。。我需要将lat long的值放入var map=L.map('map').setView([30.416667,77.166667],3)中;你能提出另一个问题吗。。。一个问题不应该有两个问题,并且让它变得越来越长