Google Maps sobre el límite de consulta

Sé que se han publicado preguntas similares, pero no he encontrado ninguna respuesta en ninguna de ellas en relación con mi problema particular.

Tengo un javascript que usa los mapas de Google para colocar los códigos postales de los clientes en un mapa. El problema que tengo es similar a lo que otros ya han publicado: recibo un error de "exceso de consulta".

He intentado diferentes configuraciones usando setTimeOut para intentar enviar los datos de google dentro de los intervalos de tiempo permitidos, pero no puedo hacer que funcionen.

Aquí está mi acción:

        function initialize() 
        {
            var rowNum      = 0 ; 
            var rowColor    = "" ;

            var latlng      = new google.maps.LatLng(27.91425, -82.842617);             

            var myOptions   = 
            {
                zoom: 7,
                center: latlng,
                mapTypeId: google.maps.MapTypeId.ROADMAP
            };

            map             = new google.maps.Map(document.getElementById("map_canvas"),myOptions);

            geocoder        = new google.maps.Geocoder();

            data.forEach(function(mapData,idx) 
            {       
                window.setTimeout(function() 
                { 
                    geocoder.geocode({ 'address': mapData.address}, function(results, status) 
                    {                   
                        if (status == google.maps.GeocoderStatus.OK) 
                        {
                            var marker = new google.maps.Marker({
                            map: map, 
                            position: results[0].geometry.location,
                            title: mapData.title,
                            icon: getIcon(mapData.type)
                        });

                        var contentHtml = "<div style='width:250px;height:90px'><strong>"+mapData.title+"</strong><br />"+mapData.address+"</div>";

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

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

                        marker.locid = idx+1;
                        marker.infowindow = infowindow;
                        markers[markers.length] = marker;

                        if (idx%2 == 0)
                        {
                            rowColor = 'style="background-color:#00FFFF;"' ; 
                        }
                        else
                        {
                            rowColor = 'style="background-color:#FFFFFF;"' ; 
                        }

                        var sideHtml = '<div ' + rowColor + ' class="loc" data-locid="'+marker.locid+'"><b>'+mapData.title+'</b><br/>';
                             sideHtml += mapData.address + '</div>';
                             $("#locs").append(sideHtml); 

                        //Are we all done? Not 100% sure of this
                        if(markers.length == data.length) doFilter();
                    } 
                    else 
                    {
                        // alert("Geocode was not successful for the following reason: " + status);
                    }   
                }, 3000);                   
            });                             
        });

Cuando ejecuto mi página con esta acción, recupero 11 marcadores aunque tengo muchos más en mi cadena JSON. El window.setTimeout no tiene ningún efecto, obviamente estoy haciendo algo mal aquí.

Agradecería cualquier ayuda en este asunto.

Gracias,

Respuestas a la pregunta(1)

Su respuesta a la pregunta