【发布时间】:2017-06-22 18:14:16
【问题描述】:
所以我试图从谷歌地图中对地址进行地理编码,但是当我尝试访问结果时,它说包含结果的数组未定义。我已经通过从坐标中查找地址来完成与此完全相反的操作,当然这是在 PHP 中,我不确定为什么这不起作用。我只想解析 JSON 以获取我想要的数据(纬度和经度),但由于我无法做到这一点,我已经解决了问题,只是做了 JSON.stringify 并找到经度和经度通过str.locate("lat")。
但是,当我从谷歌地图解析 json 响应时,我得到了这个
{ results:
[ { address_components: [Object],
formatted_address: '2985 NW Moda Way, Hillsboro, OR 97124, USA',
geometry: [Object],
place_id: 'ChIJt-G-MmcPlVQROzDAlEVj1nA',
types: [Object] } ],
status: 'OK'
}
几何内部的对象是我想要的,为此我使用 node.js 的请求库。我正在控制台记录JSON.parse(response.body); 以获取结果数组,但试图通过
JSON.stringify(response.body.results[2]); 导致
TypeError: Cannot read property '2' of undefined
编辑:我正在使用请求谷歌地图 API 的代码
request('https://maps.googleapis.com/maps/api/geocode/json?address=' + address + '+' + parsedStreet + '&key=' + key, function(err, response) {
if (err)
console.log("holy shit error");
console.log(JSON.parse(response.body.results));
返回
undefined
^ SyntaxError: Unexpected token u in JSON at position 0
address 和 parsedStreet 是我从文件中读取以转换为坐标的地址值
【问题讨论】:
-
你能告诉我们你的
request代码吗? -
为了将来参考,当您更新时,在 cmets 中给人们一个 @ 参考会很有帮助,这样他们就知道您回复了他们的评论。
标签: javascript json node.js google-maps-api-3 request