代码之家  ›  专栏  ›  技术社区  ›  Benjamin

找龙。给定国家内给定邮政编码的纬度

  •  0
  • Benjamin  · 技术社区  · 9 年前

    我对谷歌的地理定位api相当陌生。。。

    我使用以下URL检索给定地址的地理位置信息。

    http://maps.googleapis.com/maps/api/geocode/json?address=address_value
    

    地址参数可以包含多个信息。 我对地址参数值的正确格式的研究总是导致我使用如下格式: postcode, country 但这似乎并不总是像预期的那样起作用。

    我的问题是:我如何总是只获得给定国家(比如德国)的信息?

    例子:

    柏林的邮政编码范围是10115-14199

    当我尝试以下操作时: http://maps.googleapis.com/maps/api/geocode/json?address=10115,%20Germany

    我得到了正确的信息(在德国的位置):

    {
       "results" : [
          {
             "address_components" : [
                {
                   "long_name" : "10115",
                   "short_name" : "10115",
                   "types" : [ "postal_code" ]
                },
                {
                   "long_name" : "Mitte",
                   "short_name" : "Mitte",
                   "types" : [ "political", "sublocality", "sublocality_level_1" ]
                },
                {
                   "long_name" : "Berlin",
                   "short_name" : "Berlin",
                   "types" : [ "locality", "political" ]
                },
                {
                   "long_name" : "Berlin",
                   "short_name" : "Berlin",
                   "types" : [ "administrative_area_level_1", "political" ]
                },
                {
                   "long_name" : "Deutschland",
                   "short_name" : "DE",
                   "types" : [ "country", "political" ]
                }
             ],
             "formatted_address" : "10115 Berlin, Deutschland",
    ...
    

    当我尝试这个的时候 http://maps.googleapis.com/maps/api/geocode/json?address=10696,%20Germany (这也是德国柏林的一个现有邮政编码)我在美国有一个地址(那里的邮政编码被解释为街道号)

    {
       "results" : [
          {
             "address_components" : [
                {
                   "long_name" : "10696",
                   "short_name" : "10696",
                   "types" : [ "street_number" ]
                },
                {
                   "long_name" : "Berlin Road",
                   "short_name" : "Berlin Rd",
                   "types" : [ "route" ]
                },
                {
                   "long_name" : "Berlin Heights",
                   "short_name" : "Berlin Heights",
                   "types" : [ "locality", "political" ]
                },
                {
                   "long_name" : "Berlin Township",
                   "short_name" : "Berlin Township",
                   "types" : [ "administrative_area_level_3", "political" ]
                },
                {
                   "long_name" : "Erie County",
                   "short_name" : "Erie County",
                   "types" : [ "administrative_area_level_2", "political" ]
                },
                {
                   "long_name" : "Ohio",
                   "short_name" : "OH",
                   "types" : [ "administrative_area_level_1", "political" ]
                },
                {
                   "long_name" : "USA",
                   "short_name" : "US",
                   "types" : [ "country", "political" ]
                },
                {
                   "long_name" : "44814",
                   "short_name" : "44814",
                   "types" : [ "postal_code" ]
                }
             ],
             "formatted_address" : "10696 Berlin Rd, Berlin Heights, OH 44814, USA",
    
    ...
    
    1 回复  |  直到 9 年前
        1
  •  1
  •   Eric    9 年前

    您需要使用以下组件:

    http://maps.googleapis.com/maps/api/geocode/json?address=10696&components=country:DE