嵌套函数返回值

时间:2020-03-13 16:20:29

标签: javascript return

我想用不同的坐标作为输入调用函数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>

0 个答案:

没有答案