【发布时间】:2016-03-04 22:37:13
【问题描述】:
我正在使用带有 Google 地理编码的组件过滤来获取有关位置的数据。首先,我用拼写错误的“London”将这个链接称为“Lindon”,但没有返回任何内容。好,我不想让它找到任何东西!
http://maps.googleapis.com/maps/api/geocode/xml?components=locality:Lindon%7Ccountry:gb
但是当我通过 javascript 调用它时,它会返回“伦敦”数据。我不希望它,我希望它不会像在 URL 请求中那样找到它。我没有正确使用 Javascript 调用吗?这是link我用来编程调用谷歌地理编码器。
var geocoder = new google.maps.Geocoder();
geocoder.geocode({
componentRestrictions: {
country: 'GB',
locality: 'Lindon'
}
}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
if (results.length >= 1) {
for (var ii = 0; ii < results[0].address_components.length; ii++) {
var street_number = route = street = city = state = zipcode = country = formatted_address = '';
var types = results[0].address_components[ii].types.join(",");
if (types == "street_number") {
addr.street_number = results[0].address_components[ii].long_name;
}
if (types == "route" || types == "point_of_interest,establishment") {
addr.route = results[0].address_components[ii].long_name;
}
if (types == "sublocality,political" || types == "locality,political" || types == "neighborhood,political" || types == "administrative_area_level_3,political") {
addr.city = (city == '' || types == "locality,political") ? results[0].address_components[ii].long_name : city;
}
if (types == "administrative_area_level_1,political") {
addr.state = results[0].address_components[ii].short_name;
}
if (types == "postal_code" || types == "postal_code_prefix,postal_code") {
addr.zipcode = results[0].address_components[ii].long_name;
}
if (types == "country,political") {
addr.country = results[0].address_components[ii].long_name;
}
}
addr.success = true;
//for (name in addr) {
// console.log('### google maps api ### ' + name + ': ' + addr[name]);
//}
response(addr);
} else {
response({
success: false
});
}
} else {
response({
success: false
});
}
});
【问题讨论】:
标签: javascript google-maps google-maps-api-3 geocoding google-geocoding-api