Javascript Google Places API正在删除某些地址中的子本地性级别1。为什么?

Javascript Google Places API正在删除某些地址中的子本地性级别1。为什么?,javascript,google-maps,google-maps-api-3,google-places-api,Javascript,Google Maps,Google Maps Api 3,Google Places Api,我正在使用检索有关地址的信息 它工作正常,但在某些地址中,子本地性\u级别\u 1不会被返回 地址1:Rua Barão de Ipanema-里约热内卢科帕卡巴纳-巴西里约热内卢州 街道:Rua Barão de Ipanema(地址类型:路线) 邻域:科帕卡巴纳(地址类型:次局部性\u级别\u 1) 城市:里约热内卢(地址类型:行政区2级) 州:里约热内卢州(地址类型:行政区1级) 国家:巴西(地址类型:国家) 地址2:Rua Clarimundo de Melo-里约热内卢皮埃达德-巴

我正在使用检索有关地址的信息

它工作正常,但在某些地址中,
子本地性\u级别\u 1
不会被返回

地址1:Rua Barão de Ipanema-里约热内卢科帕卡巴纳-巴西里约热内卢州

  • 街道:Rua Barão de Ipanema(地址类型:路线)
  • 邻域:科帕卡巴纳(地址类型:次局部性\u级别\u 1)
  • 城市:里约热内卢(地址类型:行政区2级)
  • 州:里约热内卢州(地址类型:行政区1级)
  • 国家:巴西(地址类型:国家)
地址2:Rua Clarimundo de Melo-里约热内卢皮埃达德-巴西里约热内卢州

  • 街道:Rua Clarimundo de Melo(地址类型:路线)
  • 邻域:Piedade(缺少次局部性\u级别\u 1地址类型)
  • 城市:里约热内卢(地址类型:行政区2级)
  • 州:里约热内卢州(地址类型:行政区1级)
  • 国家:巴西(地址类型:国家)
在里约热内卢,“科帕卡巴纳”和“皮埃达德”是社区。是相同类型的信息

我们还有其他例子:

  • Av。维埃拉·苏托-里约热内卢伊帕内马-巴西里约热内卢州(正确返回次局部性水平1-伊帕内马)
  • Estrada Adhemar Bebiano-里约热内卢卡斯蒂略州-巴西里约热内卢州(不返回卡斯蒂略1级次区域性)
“科帕卡巴纳”、“皮埃达德”、“伊帕内马”和“德尔卡斯蒂略”是社区

但是,如果我插入街道编号,则返回
子局部性\u级别\u 1
。参见示例:Rua Clarimundo de Melo,460-里约热内卢皮达德-巴西里约热内卢州

所有这些测试都在Google Places API示例页面上完成:

我插入地址,并使用谷歌浏览器检查器,我看到返回的值

2件其他奇怪的事情:

  • 格式化的地址是:
    格式化的\u地址:“里约热内卢的Rua Clarimundo de Melo-巴西RJ”
    -与地址输入字段中的值不同
  • url中的查询字符串与地址输入字段不同:
    url:https://maps.google.com/?q=Rua+克拉里蒙多+德+梅洛,+里约热内卢+里约热内卢+-+RJ,+巴西和ftid=0x997d3beb826455:0xbe0de6bc2d7d1c22“
我不知道为什么相同结构的4个地址有不同的返回

有人知道为什么?谢谢你的帮助

编辑1-强烈怀疑 多个社区

我现在脑子里有东西。“Rua Clarimundo de Melo”和“Estrada Adhemar Bebiano”穿越了一些街区

“Rua Barão de Ipanema”和“Av.Vieira Souto”只穿过一个街区

我在另外两条街道进行了测试:

  • “Avenida Ataulfo de Paiva-里约热内卢勒布朗-巴西里约热内卢州”-仅穿过勒布朗(邻里)并返回
    次局部性级别1

  • “Atl–ntica大道-里约热内卢Leme-巴西里约热内卢州”-跨越2个社区(Leme和Copacabana),不返回
    次局部性级别1

这是一种怀疑,因为在任何地方都没有记录。这就是为什么这只是一种怀疑。强烈的怀疑,但是怀疑

如果我的怀疑是正确的,那么如果用户在输入中手动插入邻域,为什么不返回邻域呢

这还不清楚。用户键入邻居

反向地理编码

我正在测试中的地址。尚未返回
子局部性\u级别\u 1
。但是,如果我把坐标放在vòila中,则返回
次局部性级别1

也许,这是一个解决方案,但我不知道这是否是一个正确的解决方案。因为我需要向GooglePlacesAPI做2次请求才能获得位置信息,请求有一个月的限制。2个请求造成效率低下

  • 请求1:获取地址信息
  • 请求2:如果没有
    子本地\u级别\u 1
    ,请使用混响地理代码获取完整的地址信息

投反对票,不予置评。我们的假设似乎很符合逻辑。如果您有一个route类型的结果,并且此路由跨越多个社区,则服务可能不会返回任何内容。我在邮政编码和跨越多个邮政编码的路线方面也见过类似的情况。在这种情况下,反向地理编码可能是唯一的解决方案。当您添加房屋号并获得屋顶结果时,毫无疑问这些屋顶地址属于哪个社区。@xomena不幸的是,反向地理编码不是100%正确。我正在测试地址:“巴西里约热内卢莱姆市大西洋大道-RJ”。附近是“勒姆”。坐标为“-22.966552,-43.176324”。反转地理编码,返回的
次局部性\u级别\u 1
为“Copacabana”,这是一个非常接近的邻域(并排邻域)。换句话说,不起作用,因为键入地址的真实邻居是“Leme”。我不知道为什么谷歌不返回正确的邻居,如果我键入邻居,谷歌在自动完成预测框中显示邻居名称。我正在用邻居的名字点击预测!太疯狂了!