Функция геокодирования удаляет специальные символы

Здравствуйте! Я использую функцию геокодирования для получения данных широты и долготы для некоторых городов, но для некоторых городов с особыми алфавитными символами, таких как: "Marcos Juárez Argentina" или "Perú Argentina", это создает ошибки при генерации запроса:

https://maps.googleapis.com/maps/api/geocode/json?address=Per%FA%20Argentina&key=[**my api key**]

есть ли способ это исправить?

2 ответа

Мы можем использовать enc2utf8() функция для чтения или установки объявленных кодировок для символьного вектора:

> geocode(enc2utf8("Marcos Juárez Argentina"), output = 'more')
Information from URL : http://maps.googleapis.com/maps/api/geocode/json?address=Marcos%20Ju%C3%A1rez%20Argentina&sensor=false
       lon       lat     type     loctype                           address     north     south      east     west      locality
1 -62.1058 -32.69786 locality approximate marcos juárez, cordoba, argentina -32.67304 -32.71417 -62.07497 -62.1302 Marcos Juárez
  administrative_area_level_2 administrative_area_level_1   country
1    Marcos Juárez Department                     Cordoba Argentina

Или вы можете использовать сервис геокодирования, который не транслитерует входные данные: пример

В Json: https://geocode.xyz/Marcos%20Ju%C3%A1rez%20Argentina?json=1

{"standard": {"addresst": {}, "city": "Marcos Juárez", "prov": "AR", "countryname": "Argentina", "postal": {}, "trust": "0,9" }, "longt": "-62.10158", "alt": {}, "elevation": {}, "latt": "-32.69679"}

Другие вопросы по тегам