Javascript 如何限制谷歌地图地理编码API请求URL中的组件
我正在使用谷歌地图地理编码API获取给定城镇/城市的纬度和经度。我试图将JSON响应限制在法国境内的城市/城镇。我已经查阅了我在 但是,即使输入的位置不是城市,请求也会返回坐标。以下是我构建的JSON请求URLJavascript 如何限制谷歌地图地理编码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,尽管
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是否在这些范围内。