Функция геокодирования удаляет специальные символы
Здравствуйте! Я использую функцию геокодирования для получения данных широты и долготы для некоторых городов, но для некоторых городов с особыми алфавитными символами, таких как: "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"}