Eri*_*rik 4 javascript reverse-geocoding google-maps-api-3
我想通过Google Maps API v3反向地理编码检索完整格式的地址,因为它只显示许多(可能是所有)国家/地区的邮政编码和/或城市和国家/地区.我还想检索街道名称以及通过反向地理编码(地址查找)功能可以获得的其他内容.但由于我无法从XML文件中获取数据或在JavaScript中链接到XML文件的地址,因此我必须使用反向地理编码功能.
反向地理编码(地址查找)显示791 Long Ridge Lane, Gainesboro, Tennessee 38562, USA和反向地理编码显示Gainesboro, Tennessee 38562, USA.
是否可以通过反向地理编码获取完整的格式化地址,或者我是否必须通过反向地理编码(地址查找)使用PHP XML文件?
function coordinates_to_address(lat, lng) {
var latlng = new google.maps.LatLng(lat, lng);
geocoder.geocode({'latLng': latlng}, function(results, status) {
if(status == google.maps.GeocoderStatus.OK) {
if(results[1]) {
$('#address_current').text(results[1].formatted_address);
} else {
alert('No results found');
}
} else {
var error = {
'ZERO_RESULTS': 'Kunde inte hitta adress'
}
// alert('Geocoder failed due to: ' + status);
$('#address_new').html('<span class="color-red">' + error[status] + '</span>');
}
});
}
Run Code Online (Sandbox Code Playgroud)
geo*_*zip 10
要获得最精确的结果,请使用第一个result(results[0]),而不是第二个(results[1]):
function coordinates_to_address(lat, lng) {
var latlng = new google.maps.LatLng(lat, lng);
geocoder.geocode({'latLng': latlng}, function(results, status) {
if(status == google.maps.GeocoderStatus.OK) {
if(results[0]) {
$('#address_current').text(results[0].formatted_address);
} else {
alert('No results found');
}
} else {
var error = {
'ZERO_RESULTS': 'Kunde inte hitta adress'
}
// alert('Geocoder failed due to: ' + status);
$('#address_new').html('<span class="color-red">' + error[status] + '</span>');
}
});
}
Run Code Online (Sandbox Code Playgroud)