Как проверить, все ли маркеры были загружены в карту Google? - PullRequest
1 голос
/ 03 апреля 2012

Мне нужно использовать какой-нибудь индикатор выполнения или колесо и т. Д., Потому что у меня много маркеров, и их загрузка занимает некоторое время. Я хотел бы использовать анимированное изображение, такое как загрузка или колесо и т.д., в качестве фона для карты-холста, чтобы показать прогресс .. Мне нужно проверить, все ли маркеры были загружены. Как мне это сделать? Если я могу сделать это, я могу иметь фон карты в качестве значка индикатора выполнения, пока все маркеры не будут загружены, а затем, как только они все будут загружены, скрыть значок индикатора выполнения или где? Это даже хорошая идея?

var geocoder;
          var map;
          function initialize() {
            geocoder = new google.maps.Geocoder();
            var latlng = new google.maps.LatLng(42.095287, -79.3185139);
            var myOptions = {
              maxZoom: 14,
              zoom: 9,
              center: latlng,
              mapTypeId: google.maps.MapTypeId.ROADMAP,
            };
            map = new google.maps.Map(document.getElementById("map_canvas"),
                myOptions);
            createOverlay();
           }

        function codeAddress() {
            var infowindow = new google.maps.InfoWindow({}); 
            $('.LocationAddress').each(function() {
                var addy = $(this).text();
                geocoder.geocode( { 'address': addy}, function(results, status) {
                    if (status == google.maps.GeocoderStatus.OK) {
                            map.setCenter(results[0].geometry.location);
                            var marker = new google.maps.Marker({
                            position: results[0].geometry.location,
                            map: map,               
                            title:addy,
                        });

                     //Adding a click event to the marker 
                    google.maps.event.addListener(marker, 'click', function() { 
                        infowindow.setContent('<div id=\"infowindow\" style=" height:100px;>'
                                                +'<div id=\"LeftInfo\">'+ "Hello World!"
                                                +'</div>'+'</div>'); 
                        infowindow.open(map, this); 
                    });  
                 }  
                });//Geocoder END

            });
        }

1 Ответ

1 голос
/ 03 апреля 2012

Вы можете обратиться к элементу управления, коду и примерам для Google Maps API V3 Progress Bar .Кажется, он делает то, что вы хотите, хотя у вас могут быть некоторые дополнительные сложности, поскольку вы позволяете людям вводить свои собственные точки адреса для маркеров.

...