我正在使用 Google 地理编码来获取城市(例如伦敦)数据,例如经度/纬度/州/国家/地区/等,但是当我使用搜索短语“Lindon”而不是“London”时,它仍然会找到并返回伦敦的数据. 有没有办法关闭谷歌地理编码的拼音搜索?
在 www.okcupid.com 的注册页面上对此进行测试,当我输入“Lindon”时,没有找到任何东西,这正是我想要的。也许他们没有使用谷歌地理编码???
这是我的地理编码代码示例
function getAddressInfoBySearch(address) {
if (address.length < 40 && typeof google != 'undefined') {
var addr = {};
var geocoder = new google.maps.Geocoder();
geocoder.geocode({
'address': address
}, 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
});
}
});
} else {
response({
success: false
});
}
};