Google API国家/地区唯一标识符

时间:2016-07-20 15:29:29

标签: java google-maps google-maps-api-3 google-api

背景(可跳过)

我目前正在开展一个项目,允许我们的网络应用程序显示我们平台中存储和将要存储的地址所在国家/地区的Corruption Perceptions Index(CPI)分数。

这听起来很简单,但这些CPI分数每年都会更新,我们希望这个分数对于我们平台中存储的所有国家/地区都是最新的。当然,我们不想通过每年扫描平台中存储的所有地址并进行必要的更改来做到这一点,这是对故障敏感的(国家可以用不同的语言存储在平台中,它可能会跳过一些并显示不同语言的国家的旧分数)。并非所有国家都有CPI分数。

我提出的一个解决方案是将CPI分数与地址表分开,并具有可从原始地址表中引用的ID。这样,您只需为每个国家/地区而不是所有翻译版本更新一次CPI分数。但另一个问题仍然是如何在国家和消费者价格指数之间建立联系。因为如果我在国家/地区存储地址' Deutschland'它无法发现这是德国'德国'没有翻译模块的德语。由于我们使用谷歌地图API,我认为如果我们可以使用谷歌API中的某种国家ID(如this文章中的地点ID)并将此ID与国家名称一起存储,那将会很棒。使用此ID作为CPI和原始地址表之间的参考。

核心问题

google是否只为可通过API访问的国家/地区设置了唯一标识符(类似于place ID)?

1 个答案:

答案 0 :(得分:0)

Google Maps Geocoding API中任何功能的唯一标识符是地点ID。每个国家/地区也都有地址ID。

你怎么能找到它?请注意,地理编码API的components filtering允许设置国家/地区过滤器。

国家/地区过滤器接受两个字母的ISO 3166-1国家/地区代码。

https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2

因此,如果您需要德国的地点ID,请执行以下请求:

https://maps.googleapis.com/maps/api/geocode/json?components=country%3ADE&key=YOUR_API_KEY

返回地点ID ChIJa76xwh5ymkcRW-WRjmtd6HU。

使用Geocoder工具可以获得相同的结果:

https://google-developers.appspot.com/maps/documentation/utils/geocoder/#q%3D%26options%3Dtrue%26in_country%3DDE