从 google API JSON 结果获取某些详细信息时出现问题

问题描述 投票:0回答:1

我在从 Google 地图 API 调用结果中获取城市名称时遇到问题。我已将我尝试过的内容放在结果下方。

我得到的结果是这样的(抱歉太长了!):-

{"plus_code": {"compound_code": "CF7P+FPG Coventry, UK", "global_code": "9C4WCF7P+FPG"}, "results": [{"address_components": [Array], 
"formatted_address": "Samuel Vale House, St Nicholas St, Coventry CV1 4LU, UK", "geometry": [Object], "place_id": "ChIJwZLlz6JLd0gReeZG93iyO84", "types": [Array]}, {"address_components": [Array], "formatted_address": "28 Draper's Fields, Coventry CV1 4RB, UK", "geometry": [Object], "place_id": "ChIJledqNL1Ld0gRopKXZBQ3Dbw", "plus_code": [Object], "types": [Array]}, {"address_components": [Array], "formatted_address": "St Nicholas St, Coventry CV1, UK", "geometry": [Object], "place_id": "ChIJLcZB06JLd0gRJH9Mq01bnb0", "types": [Array]}, {"address_components": [Array], "formatted_address": "CF7P+FP Coventry, UK", "geometry": [Object], "place_id": "GhIJ4m1KHvQ0SkAReZvtwO81-L8", "plus_code": [Object], "types": [Array]}, {"address_components": [Array], "formatted_address": "25 Draper's Fields, Coventry CV1, UK", "geometry": [Object], "place_id": "EiAyNSBEcmFwZXIncyBGaWVsZHMsIENvdmVudHJ5LCBVSyIaEhgKFAoSCXHOkje9S3dIEaN9YbIkhsbsEBk", "types": [Array]}, {"address_components": [Array], "formatted_address": "Coventry CV1 4AF, UK", "geometry": [Object], "place_id": "ChIJL_gRNr1Ld0gR-C3zVwB43JE", "types": [Array]}, {"address_components": [Array], "formatted_address": "Coventry CV1, UK", "geometry": [Object], "place_id": "ChIJFXaeGQhLd0gRXmNKR5ZDV9Y", "types": [Array]}, {"address_components": [Array], "formatted_address": "Coventry, UK", "geometry": [Object], "place_id": "ChIJtyJuZVGxcEgRiQZPVvVg9gQ", "types": [Array]}, {"address_components": [Array], "formatted_address": "Coventry, UK", "geometry": [Object], "place_id": "ChIJc1uq9aFLd0gRIImX1COLDQQ", "types": [Array]}, {"address_components": [Array], "formatted_address": "Coventry, UK", "geometry": [Object], "place_id": "ChIJzyd10oVLd0gR7LyimJZGazw", "types": [Array]}, {"address_components": [Array], "formatted_address": "West Midlands, UK", "geometry": [Object], "place_id": "ChIJ_dclMtSAcEgR5_O7OttvyI0", "types": [Array]}, {"address_components": [Array], "formatted_address": 
"England, UK", "geometry": [Object], "place_id": "ChIJ39UebIqp0EcRqI4tMyWV4fQ", "types": [Array]}, {"address_components": [Array], "formatted_address": "United Kingdom", "geometry": [Object], "place_id": "ChIJqZHHQhE7WgIReiWIMkOg-MQ", "types": [Array]}], "status": "OK"} 

我这样调用 API :-

axios({
  method: 'get',
  url: 'https://maps.googleapis.com/maps/api/geocode/json?&key={my_key}&latlng='+latitude+','+longitude
}).then((response) => {
  console.log(response.data);
});

我什么都玩过,但就是做不到。我认为这与使用地图有关,但我不确定。如果是这样,我该如何使用它?我能最接近地分解它的是:

console.log(response.data.results[0].address_components[0].long_name)

我可以在像这样的网页中的普通 JavaScript 中实现此目的,但它在 React Native 中不起作用

$.each( data['results'],function(i, val) {
                $.each( val['address_components'],function(i, val) {
                    if (val['types'] == "locality,political") {
                        if (val['long_name']!="") {
                            var city = val['long_name']; // Getting the city name
                        }
                        else {
                           // UNKNOWN
                        }
arrays json react-native google-maps-api-3
1个回答
0
投票

经过多次尝试,我终于做到了。下面的代码以防其他人遇到同样的问题。我还发现这个网站可以很容易地以更易读的格式查看 JSON。

https://jsonviewer.stack.hu/

console.log(response.data.results[7].formatted_address)
© www.soinside.com 2019 - 2024. All rights reserved.