Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Multiple markers Google Map API v3 errore OVER_QUERY_LIMIT

    Salve,
    sto provvedendo a creare una mappa con markers multipli.
    La console mi segnala errore:
    TypeError: data.results[0] is undefined

    var p = data.results[0].geometry.location

    Nel dettaglio:

    {
    "error_message" : "You have exceeded your rate-limit for this API.",
    "results" : [],
    "status" : "OVER_QUERY_LIMIT"
    }

    il mio codice è questo:
    File default.aspx
    codice HTML:
    <section>
            <div id="map" class="map"></div>
        </section>
    
        <script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?key=**MIA KEY**"></script>
        <script type="text/javascript">
            $(document).ready(function () {
                var map;
                var elevator;
                var myOptions = {
                    zoom: 6,
                    center: new google.maps.LatLng(41.2924601, 12.5736108),
                    mapTypeId: 'roadmap'
                };
                map = new google.maps.Map($('#map')[0], myOptions);
    
                var dati = jQuery.parseJSON($('#hdMappa').val());
                var addresses = dati;
    
                for (var x = 1; x < addresses.length; x++) {
                   
                    $.getJSON('http://maps.googleapis.com/maps/api/geocode/json?address=' + addresses[x].Indirizzo + '&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,
                            });
    
                    });                
                }
            });
        </script>
    e default.aspx.cs

    codice HTML:
    void listaMappa()
        {
            List<tipoScuola> elencoScuole = Scuola.Elenco("ON", "id", "ASC", 0, string.Empty, string.Empty);
    
            List<tipoMappa> elencoMappa = new List<tipoMappa>();        
    
            JavaScriptSerializer ser = new JavaScriptSerializer();
    
            foreach (tipoScuola item in elencoScuole){
                elencoMappa.Add(new tipoMappa{               
                    Indirizzo = item.Indirizzo + " " + item.Citta + " " + item.Provincia, 
                });
    
            }
    
            hdMappa.Value = JsonConvert.SerializeObject(elencoMappa);
    
        }
    A mio avviso i dati vengono caricati bene ma non visualizzati per errore descritto in precedenza.
    Qualcuno potrebbe aiutarmi a capire dove sbaglio?

  2. #2
    Non c'è nessun errore nello script, incappi in una limitazione delle API: Non è possibile fare più di un tot di chiamate ogni tot di tempo.
    Per aggirare la limitazione personalmente uso una funzione ricorsiva, che richiama se stessa, appunto, in un setTimeout.

    Buona Pasqua.

  3. #3
    Prima di tutto ti ringrazio e ricambio, anche se in ritardo, gli auguri di buona pasqua.
    Per il codice ho provato a inserire un timeout ma non funziona bene. Ti dispiacerebbe dirmi nel dettaglio come integrare un "rallentatore" in questo codice?
    Grazie

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.