6

В настоящее время я использую карту Google со слоем таблицы Fusion. С этой картой я делаю запросы AJAX, которые заполняют карту и список с результатами.Что вызывает maps.googleapis.com/maps/vt, чтобы вернуть ошибку 400?

В последнее время возникла проблема с ответом API Карт Google, возвращающимся в виде ошибки 400 «Недостаточный запрос». Этот ответ спорадически возникает, когда карта заполняется новым набором результатов после того, как фильтры установлены и отправлены через AJAX. При проверке ошибки консоли отладки Firefox я заметил, что параметр pb может быть проблемой. Проблема в том, что я не уверен в том, что именно искажено в этом параметре.

Вот запрос GET, что ошибки из:

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

я вставил то, что я вижу, присваивается параметру пб ниже. Это то, что отправляется при выполнении одного из «недопустимых» запросов.

"!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" 

Вот запрос без кодирования URL только для справки:

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 

шаги, которые я взял до сих пор, чтобы исправить это:

  • Удостоверяясь любая строка запроса отправляется Таблицы Fusion были отправлены с кодировкой URL.
  • Обязательно проверьте мои кавычки и кавычки и убедитесь, что в отправляемом запросе не было никаких бродячих.
  • Проверял параметры инициализации моей Карты Google, чтобы убедиться, что я не сделал никаких опечаток или не добавил никаких несуществующих параметров.

Есть ли какие-либо другие меры предосторожности, которые мне не хватает, чтобы удостовериться, что неправильный контент не отправлен?

+0

Где этот запрос GET документирован? – MrUpsidown

+0

Я не уверен. Я попытался найти, есть ли какие-либо документы, и я не нашел ничего конкретного. Единственное, что я знаю до сих пор, - это то, что Google отправляет в ответ на запрос обновления или перезагрузки карты или ее слоев. – Kiwithing

+0

Я связался с Google об этом и подал отчет об ошибке с предложением об их поддержке. У меня были некоторые коллеги-разработчики, и некоторые говорили, что это может иметь какое-то отношение к длине символа/запроса, другие говорили, что нет реальной картины того, когда возникает проблема, другие сталкиваются с трудностями, реплицируя проблему последовательно , – Kiwithing

ответ

0

Я столкнулся с той же проблемой. Это вызвано тем, что CSS на странице для результатов карты с плавными слоями таблицы не выравнивается с параметрами карты. Я исправил CSS, и карты начали появляться.

10

Я решил это, открыв Chrome Developer Tools и перейдя к: Приложение> Очистить хранилище> Очистить данные сайта. Затем, когда инструменты разработчика все еще открыты, нажмите и удерживайте кнопку обновления в верхнем левом углу браузера, пока не увидите слова «Empty Cache and Hard Reload». Нажмите на это, и вы хорошо пойдете.

+0

Это, безусловно, сработало для меня, когда gmaps в браузере загрузили фрагменты карты, но затем, заполнив другие области DOM, плитки карты исчезнут.Переключение на спутниковый вид загрузило эти плитки, но оверлеи отсутствовали и т. Д. Полный кеш, как описано выше, работал отлично, а на знаковых картах снова работает. – alexleonard

+0

Это была моя проблема и исправлена, точно упомянутая здесь. Благодаря! – xbeta

Смежные вопросы