我想用不同的坐标作为输入调用函数geocodeLatLng
,以从该位置检索地址。
作为返回值,我希望返回代码中定义的json data
。正如它在某种程度上是嵌套函数(似乎是地理编码器调用的一部分)中一样,我如何返回数据?
非常感谢
<script>
alert('Output: ' + geocodeLatLng(47.97, 7.81));
function geocodeLatLng(lat, lng) {
var latlng = {
lat: lat,
lng: lng
};
var geocoder = new google.maps.Geocoder;
geocoder.geocode({
'location': latlng
},
function(results, status) {
if (status === 'OK') {
if (results[0]) {
var parts = results[0].address_components;
for (var i = 0; i < parts.length; i++) {
var obj = parts[i];
for (var key in obj) {
var value = obj[key];
if (obj[key].includes("route")) {
var route = obj['long_name'];
}
if (obj[key].includes("street_number")) {
var street_number = obj['long_name'];
}
if (obj[key].includes("country")) {
var country = obj['long_name'];
}
}
}
var data = {
route: route,
street_number: street_number,
country: country
}
}
}
return data;
});
}
</script>