@msdoc11

Как игнорировать предпочтительный язык системы, браузера при запросе API?

Здравствуйте, есть код который определяет город по координатам

if ("geolocation" in navigator) {
            console.log('Доступно')
            navigator.geolocation.getCurrentPosition(function(position) {

                $.ajax({
                    url: "https://nominatim.openstreetmap.org/reverse",
                    data: {
                        lat: position.coords.latitude,
                        lon: position.coords.longitude,
                        format: "json"
                    },
                    beforeSend: function(xhr) {
                        xhr.setRequestHeader(
                            'User-Agent',
                            'ID of your APP/service/website/etc. v0.1'
                        )
                    },
                    dataType: "json",
                    type: "GET",
                    async: true,
                    crossDomain: true
                }).done(function(res) {
                    if(document.querySelector('.city')){
                         document.querySelector('.city').innerHTML = res.address.city;
                    }
                   
                    console.log(res.address)
                    console.log(res.address.city)
                    
                }).fail(function(error) {
                    console.error(error)
                })

            });
         
        } else {
            console.log('Не доступно');
            document.querySelector('.city').innerHTML = 'Нет данных' ;
        }


Если например на телефоне установлен другой язык - регион (например eng), то api возвращает на eng. Moscow.
Как изменить код, чтобы это игнорировалось и всегда возвращалось на ru: Москва и тд?
В API не силен.
  • Вопрос задан
  • 92 просмотра
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
RTFM.
https://nominatim.org/release-docs/develop/api/Reverse/
Language of results
accept-language=<browser language string>
Preferred language order for showing search results, overrides the value specified in the "Accept-Language" HTTP header. Either use a standard RFC2616 accept-language string or a simple comma-separated list of language codes.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
Либо смотреть документацию по API скорее всего там есть параметр языка.
Либо как вам уже сказали установить хеадер с языком.
1 вариант более правильный, я думаю, второй больше похож на костыль.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы