Google maps api 3 正确的地址格式可从谷歌地理编码API获得最准确的结果

Google maps api 3 正确的地址格式可从谷歌地理编码API获得最准确的结果,google-maps-api-3,geocoding,Google Maps Api 3,Geocoding,是否有任何标准格式向谷歌地理编码API提供地址字符串,以获得地图上最准确的结果 例如,下面的查询没有给出正确的结果 谢谢 Mandeep我认为建议的格式是: House Number, Street Direction, Street Name, Street Suffix, City, State, Zip, Country 显然,你能提供的信息越少,结果就越不具体 在您的示例中,地理编码器正在搜索一条名为“bloom”的街道,其中在OH而不是CT中有类似的匹配。从查询中删除“bloom”

是否有任何标准格式向谷歌地理编码API提供地址字符串,以获得地图上最准确的结果

例如,下面的查询没有给出正确的结果

谢谢


Mandeep

我认为建议的格式是:

House Number, Street Direction, Street Name, Street Suffix, City, State, Zip, Country
显然,你能提供的信息越少,结果就越不具体


在您的示例中,地理编码器正在搜索一条名为“bloom”的街道,其中在OH而不是CT中有类似的匹配。从查询中删除“bloom”,然后搜索返回CT的Bloomfield。

我发现答案不完整,并且缺少来源

看这里:

谷歌的地图自动完成API返回了一个简单得多的格式:“街道地址、城市、国家” 现在您可以使用这样的字符串来搜索地址,它应该会得到一个精确的结果。 此外,如果您使用自动完成API,您也将获得一个唯一标识符,可用于进一步的详细信息请求

街道地址的格式在很大程度上取决于您实际所在的位置。 在美国,“门牌号、街道方向、街道名称、街道后缀”可能有意义,但在欧洲大部分地区,它不会导致成功查询

大多数欧盟国家的地址都不同(通常是“街道名称号码后缀”),比如“Kumpelstraat 25A”、“Psolevcu 331/26b”),我想如果我们看看一些东方国家,我们会感到惊讶

因此,如果您将代码绑定到单个区域(美国、欧盟大部分地区),您可能会很好地对格式进行硬编码。
如果你想拥有一个更灵活的系统,你要么需要为你的目标受众找出propper的格式,要么查询Google的一个API来自动获得一个合适的字符串。
我链接的一个很好,但需要一个API密钥,每天有一个免费请求限制。

我偶然发现了这个问题,找到了一个适合我的解决方案:

我认为可以通过使用组件过滤找到答案,请看:

Javascript中的一个示例:

var request = require('request');

var url = "https://maps.googleapis.com/maps/api/geocode/json?" +
    "address=Herengracht 180" +
    "&components=postal_code:1016 BR|country:NL" +
    "&sensor=false";

request(url, function (error, response, body) {
  if (!error && response.statusCode == 200) {
    console.log(body);
  }
  else {
    console.log('error', error);
  }
});

谷歌地址搜索的定义:

地址-您要按相关国家的国家邮政局使用的格式进行地理编码的街道地址。应避免使用其他地址元素,如企业名称和单位、套房或楼层编号

我应该如何格式化geocoder查询以最大限度地增加成功请求的数量?

地理编码器设计用于将街道地址映射到地理坐标。因此,我们建议您按照以下准则格式化地理编码器请求,以最大限度地提高查询成功的可能性:

  • 按照有关国家的国家邮政局使用的格式指定地址
  • 请勿指定未包含在相关国家邮政局定义的地址中的其他地址元素,如企业名称、单位编号、楼层编号或套房编号
  • 在可能的情况下,使用房屋的街道编号优先于建筑物名称
  • 在可能的情况下,优先使用街道编号寻址,而不是指定交叉街道
  • 不要提供“提示”,如附近的地标

无需避开公寓单元。这项工作:

“公寓”、“房间”和“套房”也适用

它们都返回301作为子版本,并在“格式化的#u地址”中显示为“#301”


Paul发送…

我发现像“US”、“DE”、“FR”这样的官方国家代码不起作用。用国家全名替换它们对我来说效果更好


我没有找到这方面的资料来源。

谷歌没有说正确的格式,但是****它,这是有效的!:)我非常怀疑这是否有效!国家队和拉链队应该先出发@ftrotter逗号是获得更好结果所必需的吗?我还没有测试过,我只是假设它们可以用作分隔符时具有优势。我怀疑一个详细说明“带逗号”和“不带逗号”之间区别的答案会比我的更好,我会这样投票……我应该补充一点,我在android应用程序中成功地使用了这个方法。使用组件过滤器的一个警告是,包含组件过滤器的查询只会返回与过滤器匹配的地理编码结果。如果没有找到匹配项,地理编码器将返回与过滤器本身匹配的结果。如果您希望在地理代码失败时获得零结果,则可能不希望使用组件过滤器。