6

Attualmente sto utilizzando una mappa di Google con un livello tabella di Fusion. Con questa mappa, faccio query AJAX che popolano la mappa e un elenco con risultati.Che cosa causa maps.googleapis.com/maps/vt per restituire un errore 400?

Recentemente si è verificato un problema con la risposta dell'API di Google Map restituita come errore 400 "Richiesta non valida". Questa risposta si verifica sporadicamente quando la mappa viene popolata con un nuovo set di risultati dopo che i filtri sono stati impostati e inviati tramite AJAX. Quando ho controllato l'errore della console di debug di Firefox, ho notato che il parametro pb potrebbe essere il problema. Il problema è che non sono sicuro di cosa sia esattamente malformato su questo parametro.

Ecco la richiesta GET che gli errori fuori:

https://maps.googleapis.com/maps/vt?pb=[...insert_param_code_here...]&callback=_xdc_._n2pwun&token=20077 

ho incollato quello che vedo assegnato al parametro pb sotto. Questo è ciò che viene inviato quando viene effettuata una delle query "non valide".

"!1m4!1m3!1i13!2i2042!3i3139!1m4!1m3!1i13!2i2043!3i3139!1m4!1m3!1i13!2i2042!3i3140!1m4!1m3!1i13!2i2042!3i3141!1m4!1m3!1i13!2i2043!3i3140!1m4!1m3!1i13!2i2043!3i3141!1m4!1m3!1i13!2i2042!3i3142!1m4!1m3!1i13!2i2042!3i3143!1m4!1m3!1i13!2i2043!3i3142!1m4!1m3!1i13!2i2043!3i3143!1m4!1m3!1i13!2i2044!3i3139!1m4!1m3!1i13!2i2045!3i3139!1m4!1m3!1i13!2i2046!3i3139!1m4!1m3!1i13!2i2044!3i3140!1m4!1m3!1i13!2i2044!3i3141!1m4!1m3!1i13!2i2045!3i3140!1m4!1m3!1i13!2i2045!3i3141!1m4!1m3!1i13!2i2044!3i3142!1m4!1m3!1i13!2i2044!3i3143!1m4!1m3!1i13!2i2045!3i3142!1m4!1m3!1i13!2i2045!3i3143!1m4!1m3!1i13!2i2046!3i3140!1m4!1m3!1i13!2i2046!3i3141!1m4!1m3!1i13!2i2046!3i3142!1m4!1m3!1i13!2i2046!3i3143!2m21!1e2!2sft:tableID!4m2!1ssg!2s%20Cities_With_Charters%20%3D%20'East%20St.%20Louis%20Area'%20AND%20Students_Served%20LIKE%20'%25'%20AND%20School_Type_Dropdown%20IN%20('Charter')%20ORDER%20BY%20School_Name%20ASC!4m2!1ssc!2sSchool_Info_ID%2C%20CPS_ID%2C%20RCDTS%2C%20School_Name%2C%20Street_Address%2C%20City%2C%20State%2C%20Zip%2C%20Phone%2C%20Website%2C%20Lat%2C%20Long%2C%20Year_Opened%2C%20School_Description%2C%20District_Info_ID%2C%20District_Name%2C%20Charter_Renew_YR%2C%20Network_ID%2C%20Network%2C%20Community_Area%2C%20State_Rep_District%2C%20State_Sen_District%2C%20Ward_Remapped%2C%20Grades_Served%2C%20Grades_Capacity%2C%20Serves_ES%2C%20Serves_HS%2C%20Serves_MS%2C%20Serves_Dropouts%2C%20School_Type_Dropdown%2C%20School_Type_Color%2C%20School_Type_Display%2C%20Profile_Type%2C%20SQRP_Rating%2C%20SQRP_Profile%2C%20Cities_With_Charters%2C%20Link_IIRC%2C%20Students_Served!4m2!1ssq!2s'School_Type_Color'%20%3D%20'GREEN'$'School_Type_Color'%20%3D%20'ORANGE'$'School_Type_Color'%20%3D%20'BLUE'$'School_Type_Color'%20%3D%20'MAGENTA'!4m2!1sc!2si:grn_blank$i:orange_blank$i:ltblu_blank$i:purple_blank!4m2!1sy!2s2!4m2!1stmplt!2s2!5i1!3m3!2sen-US!3sUS!5e18!4e3!12m1!5b1" 

Ecco la query senza codifica URL appena per riferimento:

SELECT School_Info_ID, CPS_ID, RCDTS, School_Name, Street_Address, City, State, Zip, Phone, Website, Lat, Long, Year_Opened, School_Description, District_Info_ID, District_Name, Charter_Renew_YR, Network_ID, Network, Community_Area, State_Rep_District, State_Sen_District, Ward_Remapped, Grades_Served, Grades_Capacity, Serves_ES, Serves_HS, Serves_MS, Serves_Dropouts, School_Type_Dropdown, School_Type_Color, School_Type_Display, Profile_Type, SQRP_Rating, SQRP_Profile, Cities_With_Charters, Link_IIRC, Students_Served FROM tableID WHERE Cities_With_Charters = 'East St. Louis Area' AND Students_Served LIKE '%' AND School_Type_Dropdown IN ('Charter') ORDER BY School_Name ASC 

I passi che ho preso finora per risolvere questo problema:

  • Assicurandosi qualsiasi stringa di query inviata al Fusion Tables è stato inviato con codifica URL.
  • Assicurati di controllare le mie virgolette e virgolette e assicurati che non ci siano problemi nella query inviata.
  • Controllato i miei parametri di inizializzazione di Google Map per assicurarmi di non aver apportato errori di battitura o di aggiungere parametri inesistenti.

Ci sono altre precauzioni che mi mancano nell'assicurarmi che non venga inviato un contenuto non valido?

+0

Dove viene documentata la richiesta GET? – MrUpsidown

+0

Non ne sono sicuro. Ho provato a cercare se ci sono già documenti e non ho trovato nulla di specifico. L'unica cosa che so finora è che sembra essere stato inviato da Google come risposta alla richiesta di un aggiornamento o ricarica di una mappa o dei suoi livelli. – Kiwithing

+0

Ho finito per contattare Google per questo e presentare una segnalazione di bug su suggerimento del loro supporto. Ho avuto alcuni sviluppatori che guardano questo, e alcuni hanno detto che potrebbe avere qualcosa a che fare con il carattere/lunghezza della query, altri hanno detto che non c'è un vero modello quando si verifica il problema, altri hanno avuto difficoltà a replicare il problema in modo coerente . – Kiwithing

risposta

0

Ho riscontrato lo stesso problema. È causato quando il CSS nella pagina per i risultati della mappa con i livelli della tabella di fusione non si allinea con i parametri della mappa. Ho corretto il CSS e le mappe hanno cominciato ad apparire.

10

Ho risolto questo problema aprendo gli Strumenti per sviluppatori di Chrome e andando a: Applicazione> Cancella spazio di archiviazione> Cancella dati del sito. Quindi, con gli Strumenti per sviluppatori ancora aperti, fai clic e TENGA il pulsante di aggiornamento nell'angolo in alto a sinistra del browser fino a quando non vedrai le parole "Svuota cache e ricarica dura". Fai clic e sei a posto.

+0

Questo ha sicuramente funzionato per me quando gmaps nel browser caricava le tessere della mappa, ma poi dopo aver popolato altre aree del DOM le tessere della mappa scomparivano.Il passaggio alla vista satellitare ha caricato quelle tessere, ma mancavano le sovrapposizioni ecc. La cache completa chiara come sopra documentata funzionava perfettamente e sulle mappe di accesso funziona di nuovo. – alexleonard

+0

Questo era esattamente il mio problema e risolto esattamente qui menzionato. Grazie! – xbeta