如何使用Javascript

时间:2018-06-05 09:29:21

标签: javascript google-maps-api-3 google-maps-markers

我使用带有信息窗口的Google地图创建了一张地图。 我想动态打印出信息窗口内容。 所以我创建了一个值数组作为嵌套数组,但我无法获得此嵌套/多维数组中的值。 因此,我的目标是在代码段的内容部分中运行第一,第二,第三,第四,第五

            $(document).ready(function () {
            var map;
            var elevator;
            var myOptions = {
                zoom: 1,
                center: new google.maps.LatLng(0, 0),
                mapTypeId: 'roadmap'
            };
            map = new google.maps.Map($('#map_canvas')[0], myOptions);

             let addresses = [
                 ['Norway','first'],
                 ['Africa','second'],
                 ['Asia','thrid'],
                 ['North America','fourth'],
                 ['South America','fifth']
            ];



            for (var x = 0; x < addresses.length; x++) {
                //usleep(1000000);
                $.getJSON('http://maps.googleapis.com/maps/api/geocode/json?address='+addresses[x][0]+'&sensor=false', null, function (data) {
                    var p = data.results[0].geometry.location
                    var latlng = new google.maps.LatLng(p.lat, p.lng);
                    new google.maps.Marker({
                        position: latlng,
                        map: map,
                        title: addresses[x][0]
                    });

                    var infowindow = new google.maps.InfoWindow({
                        content: 'addresses'
                    });

                    var marker = new google.maps.Marker({
                        position: latlng,
                        map: map
                    });

                    google.maps.event.addListener(marker, 'click', function() {
                        alert("Marker clicked");
                        infowindow.open(map,marker);
                    });


                });
            }

        });

当我喜欢时

content: addresses[x][1]

它给了我

Uncaught TypeError: Cannot read property '1' of undefined

这是我的小提琴

http://jsfiddle.net/P2QhE/5961/

1 个答案:

答案 0 :(得分:0)

请试一试。

addresses.forEach(address => console.log(address[1]))

或者更冗长的版本:

addresses[0][1]
addresses[1][1]
addresses[2][1]
addresses[3][1]
addresses[4][1]