Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Json 从Google Maps place搜索获取地址组件_Json_Google Maps - Fatal编程技术网

Json 从Google Maps place搜索获取地址组件

Json 从Google Maps place搜索获取地址组件,json,google-maps,Json,Google Maps,使用此请求调用Google地图时: https://maps.googleapis.com/maps/api/place/textsearch/json?query=The+White+House&key=[REDACTED] 我得到一个JSON结果数组,如下所示(经过编辑以消除噪音): 这很好,但我需要将格式化的_地址分解为以下几个部分:街道号、路线、位置等。有没有办法通过这一个查询或其他查询来实现这一点 我可以用a查找place\u id,但在我的情况下,这可能导致n+1的情况。。

使用此请求调用Google地图时:

https://maps.googleapis.com/maps/api/place/textsearch/json?query=The+White+House&key=[REDACTED]
我得到一个JSON结果数组,如下所示(经过编辑以消除噪音):

这很好,但我需要将
格式化的_地址
分解为以下几个部分:街道号、路线、位置等。有没有办法通过这一个查询或其他查询来实现这一点

我可以用a查找
place\u id
,但在我的情况下,这可能导致n+1的情况。。。这并不理想


基于经度/纬度的反向地理编码是没有帮助的,因为我已经知道我要找的地方,结果通常会生成一个长列表,我必须遍历该列表才能与初始搜索提供的
格式化的\u地址匹配。它还导致Place API的n+1问题。

使用地理编码器服务。它还接收部分完成的地址和邮政编码


正如您所猜测的那样,您需要将。无法在搜索结果中获取
地址\组件

反向地理编码产生的结果比查找
位置\ id
的结果更糟糕。我的意思是正向地理编码-用地理编码服务替换位置搜索API调用。查找白宫,它会返回一个结果列表,就像地点搜索一样。
  {
     "formatted_address" : "1600 Pennsylvania Avenue Northwest, Washington, DC 20500, United States",
     "geometry" : { /* lng/lat */ },
     "id" : "961fbdc3bf1fb3969cbf6421e9ebde0d837b8496",
     "name" : "The White House",
     "place_id" : "ChIJ37HL3ry3t4kRv3YLbdhpWXE",
  }