【发布时间】:2013-12-20 17:42:28
【问题描述】:
我正在使用 google maps API 对地址进行地理编码,我需要在不同的字段中获取街道地址、城市、州和邮政编码。根据结果中返回的address component types 的文档,这是我的代码:
var address = "";
var city = "";
var state = "";
var zip = "";
geocoder.geocode( { 'address': inputAddress}, function(results, status){
if (status==google.maps.GeocoderStatus.OK){
// loop through to get address, city, state, zip
$.each(results[0].address_components, function(){
switch(this.types[0]){
case "postal_code":
zip = this.short_name;
break;
case "street_address":
address = this.short_name;
break;
case "administrative_area_level_1":
state = this.short_name;
break;
case "locality":
city = this.short_name;
break;
}
});
} else{ alert("Invalid Address"); }
});
但是,当我输入地址时,似乎没有返回“street_address”;相反,它作为单独的字段返回,最常见的是“street_number”和“route”,偶尔还有其他字段(例如 apt number 的“subpremise”)。请参阅文档中的 this example of a geocoding result。
如何获取包含与街道地址相关的任何字段的地址变量?对于文档中的示例,我想要“1600 Ampitheatre Parkway”。
【问题讨论】:
-
这对我来说很棒!感谢您的代码@froadie :)
标签: parsing google-maps-api-3 geocoding