На сайте с относительно высоким трафиком, который посещают пользователи со всего мира, начиная со вчерашнего дня (13/02/2019), примерно в 17:00 по UTC мы начали получать обратные вызовы AJAX с недопустимыми координатами.
У нас есть Javascript, который определяет, когда карта простаивает, а затем отправляет координаты на наш сервер для обратного поиска геокодера.Вот упрощение:
google.maps.event.addListener(mapObject, 'idle', function() {
$.ajax({
url: '/geo/reverse/lookup',
type: 'GET',
dataType: 'json',
data: {
lat: mapObject.getCenter().lat(),
lng: mapObject.getCenter().lng()
}
})
});
Это работало в течение нескольких лет без проблем.Но вчера мы начали получать неверные координаты широты и долготы.Это вызывает жалобу системы, которую мы используем для запуска обратного поиска геокодера.Большинство недопустимых координат содержат значения долготы, которые больше 180
.
Нам не удалось воспроизвести проблему дома.Но я догадывался, что это связано с браузером.Возможно, была выпущена новая версия браузера, и она по-другому обрабатывает Gmaps JS.Таким образом, мы начали смотреть на агентов пользователя плохих запросов.Большинство браузеров являются отчетными агентами Mozilla/5.0 (iPhone; CPU iPhone OS 12_1_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0 Mobile/15E148 Safari/604.1
, однако не ВСЕ запросы относятся к Mobile Safari, поэтому я не уверен, является ли это браузером или проблемой Gmaps.
Я надеюсь, что кто-то может помочь пролить некоторый свет на это, или, возможно, это поможет другим в аналогичной ситуации.