Lat/Lng を逆方向にジオコーディングして、最も近い住所を取得しようとしています。ただし、これは常に完全に正確であるとは限りません。近くの住所を複数取得できるかどうかを知りたい.
これは私が持っているもので、完全な番地の結果は 1 つしかありません。
function locationizer(position){
latitude = position.coords.latitude;
longitude = position.coords.longitude;
latlng = new google.maps.LatLng(latitude,longitude);
map = new google.maps.Map(document.getElementById('map'), {
mapTypeId: google.maps.MapTypeId.ROADMAP,
center: latlng,
zoom: 15
});
var request = {
address: latlng,
radius: '100',
types: ['street_address']
};
geocoder.geocode({'latLng': latlng}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
if (results[1]) {
map.setZoom(11);
console.log(results);
for(var loc in results){
$("#output").append(results[loc].formatted_address+"<br />");
}
} else {
alert("Geocoder failed due to: " + status);
}
});
}
出力例
100 S High St, New Albany, OH 43054, USA
New Albany, OH, USA
Plain, OH, USA
New Albany, OH 43054, USA
Franklin, OH, USA
Ohio, USA
United States