google-maps - 谷歌地点详细信息街道号码与字母
问题描述
当我在谷歌的自动完成中搜索时,我看到了正确的地址。例子:
Pavlichenko Street, 20b, Bila Tserkva, Kyiv Oblast, Ukraine
这个地址有place_id:
EjtQYXZsaWNoZW5rbyBTdHJlZXQsIDIwYiwgQmlsYSBUc2Vya3ZhLCBLeWl2IE9ibGFzdCwgVWtyYWluZSIwEi4KFAoSCVcssl0EQtNAEeDmEfl02RgXEBQqFAoSCVGxb54DQtNAEbhYfU4LYvbk
我需要一个门牌号“20b”。To do so I use Place Details API: https://maps.googleapis.com/maps/api/place/details/json?placeid=EjtQYXZsaWNoZW5rbyBTdHJlZXQsIDIwYiwgQmlsYSBUc2Vya3ZhLCBLeWl2IE9ibGFzdCwgVWtyYWluZSIwEi4KFAoSCVcssl0EQtNAEeDmEfl02RgXEBQqFAoSCVGxb54DQtNAEbhYfU4LYvbk&key=MY_KEY
这里有什么回应:
"address_components" : [
{
"long_name" : "20",
"short_name" : "20",
"types" : [ "street_number" ]
},
{
"long_name" : "Pavlichenko Street",
"short_name" : "Pavlichenko Street",
"types" : [ "route" ]
},
{
"long_name" : "Bila Tserkva",
"short_name" : "Bila Tserkva",
"types" : [ "locality", "political" ]
...
但是“20”实际上是不同的房子,我需要“20b”。所有带有字母的街道都会发生同样的情况。有没有办法解决这个问题?谢谢
解决方案
长地点 IDEjtQYXZsaWNoZW5rbyBTdHJlZXQsIDIwYiwgQmlsYSBUc2Vya3ZhLCBLeWl2IE9ibGFzdCwgVWtyYWluZSIwEi4KFAoSCVcssl0EQtNAEeDmEfl02RgXEBQqFAoSCVGxb54DQtNAEbhYfU4LYvbk
表示该地址不在 Google 数据库中。他们尝试将其插入到与您的搜索匹配的最知名的位置。
请注意,现有的数据库地址有一个简短的地点 ID,例如ChIJNSfioSOjpBIRSwaYW7O3LJY
.
您的预测具有以下类型
"types":[
"route","geocode"
]
所以看起来谷歌可以将它解析到路由级别,但不能解析到街道地址级别。
我可以建议向 Google 数据团队报告丢失的地址,如文档中所述
https://support.google.com/maps/answer/3094088
我希望这能解决你的疑问。
推荐阅读
- c# - 如何统一从子类更改父类变量
- alfresco - Alfresco:搜索所有没有父节点的节点
- jquery - jquery:不选择不排除预期元素
- java - 使用大量行时出现 RowsExceededException
- c - 预快速警告:“算术溢出:32 位值被移位,然后转换为 64 位值。”
- angular - 嗨,我在使用 npm 命令时遇到问题,无论我尝试什么,我都会收到一个 commen 错误
- c# - 提取基本接口后的 MissingMethodException
- reactjs - Create React App 抛出“Loading chunk # failed”错误
- javascript - 科尔多瓦画布中的字体渲染比移动铬更大
- vue.js - 将数据从动态组件作为对象传递给父组件