Javascript 使用谷歌api获取城市的州/国家建议

Javascript 使用谷歌api获取城市的州/国家建议,javascript,google-maps,google-api,Javascript,Google Maps,Google Api,我有一份北美城市列表,这些城市与省份和国家的配对不一致。例如: 加拿大卡尔加里AB酒店 卡尔加里阿尔伯塔-加利福尼亚 加拿大卡尔加里 我想格式化每个城市,使其遵循一致的模式。因此,它包括市/州/省和国家。比如: 加拿大阿尔伯塔省卡尔加里 我曾尝试使用谷歌的PlacesAPI来获取可能的格式化建议,但我所能实现的只是一种验证,表明这样一个城市是否存在。我想知道是否有人曾广泛使用谷歌API,可以指导我如何从城市输入中获得城市/省/州/国家建议(可能是JSON格式) var input =

我有一份北美城市列表,这些城市与省份和国家的配对不一致。例如:

  • 加拿大卡尔加里AB酒店
  • 卡尔加里阿尔伯塔-加利福尼亚
  • 加拿大卡尔加里
我想格式化每个城市,使其遵循一致的模式。因此,它包括市/州/省和国家。比如:

  • 加拿大阿尔伯塔省卡尔加里
我曾尝试使用谷歌的PlacesAPI来获取可能的格式化建议,但我所能实现的只是一种验证,表明这样一个城市是否存在。我想知道是否有人曾广泛使用谷歌API,可以指导我如何从城市输入中获得城市/省/州/国家建议(可能是JSON格式)

 var input = "City Name";
 var service = new google.maps.places.AutocompleteService();
 service.getQueryPredictions({ input: input }, callback});

我试着研究了一下,但这似乎带回了lat/log信息。

地理编码API正是您想要的

试一试

它将以多种方式返回完全格式化的地址信息(按管理级别划分、格式化为地址等)

格式化的_地址
组件是德语(“假名”),因为我的浏览器语言是德语。您可以使用
hl
参数定义输出应使用哪种语言


请注意,从技术上讲,根据他们的T&C,使用地理编码API仅允许准备在谷歌地图上显示的数据。

地理编码API就是您想要的

试一试

它将以多种方式返回完全格式化的地址信息(按管理级别划分、格式化为地址等)

格式化的_地址
组件是德语(“假名”),因为我的浏览器语言是德语。您可以使用
hl
参数定义输出应使用哪种语言

请注意,从技术上讲,根据他们的T&C,使用地理编码API只允许准备在谷歌地图上显示的数据

http://maps.googleapis.com/maps/api/geocode/json?address=Calgary,%20Alberta&sensor=false
{
   "results" : [
      {
         "address_components" : [
            {
               "long_name" : "Calgary",
               "short_name" : "Calgary",
               "types" : [ "locality", "political" ]
            },
            {
               "long_name" : "Division No. 6",
               "short_name" : "Division No. 6",
               "types" : [ "administrative_area_level_2", "political" ]
            },
            {
               "long_name" : "Alberta",
               "short_name" : "AB",
               "types" : [ "administrative_area_level_1", "political" ]
            },
            {
               "long_name" : "Kanada",
               "short_name" : "CA",
               "types" : [ "country", "political" ]
            }
         ],
         "formatted_address" : "Calgary, Alberta, Kanada",