Javascript 尝试从Laravel中的控制台解析json代码
我从DB中获取了4个地址,我使用了地理编码API并将其转换为jsonJavascript 尝试从Laravel中的控制台解析json代码,javascript,jquery,json,laravel,Javascript,Jquery,Json,Laravel,我从DB中获取了4个地址,我使用了地理编码API并将其转换为json @foreach($estates as $est) var result = $.ajax({ url: 'https://maps.googleapis.com/maps/api/geocode/json?address={{$est->address}}&key={{env('GOOGLE_MAPS_API')}}' }) result.done(
@foreach($estates as $est)
var result = $.ajax({
url: 'https://maps.googleapis.com/maps/api/geocode/json?address={{$est->address}}&key={{env('GOOGLE_MAPS_API')}}'
})
result.done(function(data) {
console.log(data);
});
@endforeach
但是现在如何从控制台解析lat/lng呢?使用ajax get而不是像这样的
标记:
@foreach($estates as $est)
var result = $.ajax({
url: 'https://maps.googleapis.com/maps/api/geocode/json?address={{$est->address}}&key={{env('GOOGLE_MAPS_API')}}'
})
result.done(function(data) {
{{ get required data and save to somewhere }}
});
@endforeach
您可以在此处获得有关如何执行此操作的更多信息:
您没有调用api。一种方法是使用get_file_内容。下面是一个示例代码
@foreach($estates as $est)
$url = "https://maps.googleapis.com/maps/api/geocode/json?address={{$est->address}}&key={{env('GOOGLE_MAPS_API')}}";
$resp_json = file_get_contents($url);
$resp = json_decode($resp_json, true);
if($resp['status']=='OK'){
// Get Latitude and Longitude from resp variable
}
@endforeach
编辑1
从JSON响应中获取Lat和Lng
if($resp['status']=='OK'){
$lat = isset($resp['results'][0]['geometry']['location']['lat']) ? $resp['results'][0]['geometry']['location']['lat'] : "";
$lng = isset($resp['results'][0]['geometry']['location']['lng']) ? $resp['results'][0]['geometry']['location']['lng'] : "";
}
为什么要在foreach循环中传递脚本?因为数据来自控制器,所以我立即传递它以获得geocodes@AmmarHussain任何其他选项?为什么要在脚本标记中使用api?谢谢您的回答。但是有了这个,我在控制台中什么也没取。将这一行
{{{get required data and save to somewhere}}
更改为console.log(data)代码>好的,谢谢:)但我有两个问题,我只得到第一个,如果使用foreach,我什么也得不到。第二个问题是lat和long在这些内部,我如何获得它们?如果你帮我解决这个问题真的很感激!我已经添加了,但是上面写着“尝试获取非对象的属性”错误。我解决了最后一个问题。谢谢你,伙计在代码方面给了我很大的帮助!谢谢你。我更新了问题的代码。如何获取该位置的lat和lng?我已更新代码。请看一看,如果它满足您的需要,请接受我的回答。谢谢。我已经解决了这个问题,伙计,但是谢谢你帮我解决了这个问题,我投票给你了。