使用Google api获取城市的州/国家建议



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

  • 加拿大卡尔加里
  • 卡尔加里-阿尔伯塔省
  • 加拿大卡尔加里

我想对每个城市进行格式化,使其遵循一致的模式。因此,它包括市州/省和国家。类似:

  • 加拿大卡尔加里阿尔伯塔省

我试着使用Google的Places API来获取可能的格式化建议,但我所能实现的只是一种验证,表明是否存在这样的城市。我想知道是否有人与Google API广泛合作,可以指导我如何从城市输入中获取城市/省份-州/国家建议(可能是JSON格式)。

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

我试着研究地理编码,但这似乎带回了lat/log信息。

地理编码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",

formatted_address组件是德语("Kanada"),因为我的浏览器语言是德语。您可以使用hl参数定义输出应使用的语言。

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

相关内容

  • 没有找到相关文章

最新更新