Javascript 如何限制谷歌地图地理编码API请求URL中的组件

Javascript 如何限制谷歌地图地理编码API请求URL中的组件,javascript,json,google-maps,google-maps-api-3,geocoding,Javascript,Json,Google Maps,Google Maps Api 3,Geocoding,我正在使用谷歌地图地理编码API获取给定城镇/城市的纬度和经度。我试图将JSON响应限制在法国境内的城市/城镇。我已经查阅了我在 但是,即使输入的位置不是城市,请求也会返回坐标。以下是我构建的JSON请求URL https://maps.googleapis.com/maps/api/geocode/json?address=abc&components=postal_town:abc|country:FR&key=API_KEY 当我使用上述请求时,它会返回以下JSON,尽管

我正在使用谷歌地图地理编码API获取给定城镇/城市的纬度和经度。我试图将JSON响应限制在法国境内的城市/城镇。我已经查阅了我在

但是,即使输入的位置不是城市,请求也会返回坐标。以下是我构建的JSON请求URL

https://maps.googleapis.com/maps/api/geocode/json?address=abc&components=postal_town:abc|country:FR&key=API_KEY
当我使用上述请求时,它会返回以下JSON,尽管“abc”不是有效的town

    {
   "results" : [
      {
         "address_components" : [
            {
               "long_name" : "4",
               "short_name" : "4",
               "types" : [ "street_number" ]
            },
            {
               "long_name" : "Rue Auber",
               "short_name" : "Rue Auber",
               "types" : [ "route" ]
            },
            {
               "long_name" : "Paris",
               "short_name" : "Paris",
               "types" : [ "locality", "political" ]
            },
            {
               "long_name" : "Paris",
               "short_name" : "Paris",
               "types" : [ "administrative_area_level_2", "political" ]
            },
            {
               "long_name" : "Île-de-France",
               "short_name" : "Île-de-France",
               "types" : [ "administrative_area_level_1", "political" ]
            },
            {
               "long_name" : "France",
               "short_name" : "FR",
               "types" : [ "country", "political" ]
            },
            {
               "long_name" : "75009",
               "short_name" : "75009",
               "types" : [ "postal_code" ]
            }
         ],
         "formatted_address" : "4 Rue Auber, 75009 Paris, France",
         "geometry" : {
            "location" : {
               "lat" : 48.87234979999999,
               "lng" : 2.3300877
            },
            "location_type" : "APPROXIMATE",
            "viewport" : {
               "northeast" : {
                  "lat" : 48.8736987802915,
                  "lng" : 2.331436680291502
               },
               "southwest" : {
                  "lat" : 48.8710008197085,
                  "lng" : 2.328738719708498
               }
            }
         },
         "place_id" : "ChIJh-qjtzZu5kcRrJWMR6brrZc",
         "types" : [ "atm", "bank", "establishment", "finance", "point_of_interest" ]
      },
      {
         "address_components" : [
            {
               "long_name" : "18",
               "short_name" : "18",
               "types" : [ "street_number" ]
            },
            {
               "long_name" : "Rue du 4 Septembre",
               "short_name" : "Rue du 4 Septembre",
               "types" : [ "route" ]
            },
            {
               "long_name" : "Paris",
               "short_name" : "Paris",
               "types" : [ "locality", "political" ]
            },
            {
               "long_name" : "Paris",
               "short_name" : "Paris",
               "types" : [ "administrative_area_level_2", "political" ]
            },
            {
               "long_name" : "Île-de-France",
               "short_name" : "Île-de-France",
               "types" : [ "administrative_area_level_1", "political" ]
            },
            {
               "long_name" : "France",
               "short_name" : "FR",
               "types" : [ "country", "political" ]
            },
            {
               "long_name" : "75002",
               "short_name" : "75002",
               "types" : [ "postal_code" ]
            }
         ],
         "formatted_address" : "18 Rue du 4 Septembre, 75002 Paris, France",
         "geometry" : {
            "location" : {
               "lat" : 48.869747,
               "lng" : 2.336408
            },
            "location_type" : "APPROXIMATE",
            "viewport" : {
               "northeast" : {
                  "lat" : 48.8710959802915,
                  "lng" : 2.337756980291502
               },
               "southwest" : {
                  "lat" : 48.8683980197085,
                  "lng" : 2.335059019708498
               }
            }
         },
         "place_id" : "ChIJnXdnRTpu5kcRJLmRDXtjBqY",
         "types" : [ "establishment", "finance", "point_of_interest" ]
      }
   ],
   "status" : "OK"
}

如何纠正此问题?

地理编码API总是尽最大努力返回结果。这意味着你可能会得到质量不太好的结果。您必须确定如何筛选返回的内容,以确定它是否符合您的需要。@PaulThomasGC这是否意味着尝试使用组件限制构建请求URL不是处理此问题的有效方法?正确。您需要进行查询,然后对结果执行操作,以确定返回的内容是否适合您的需要。例如,如果必须在特定范围内,检查lat/lng是否在这些范围内。