Конвертировать координаты в Адресс по GeoPy - PullRequest
0 голосов
/ 19 апреля 2020

Я работаю над созданием бот-телеграммы, которая получит позицию пользователей. Я получил координаты, но я хотел бы преобразовать их в адрес по геопии. Есть проблема, я не знаю, что я могу добавить в 'user_agent'. Вывод дает мне адрес, который не мой (ни один из пользователей), это очень странно ...

from geopy.geocoders import Nominatim
import json
import time
from pprint import pprint
import telepot
from telepot.loop import MessageLoop
import telepot.namedtuple
bot = telepot.Bot("1210935912:AAG4X8vHlXLM3jQWnxFKDB2NsZ6pqTQM7lQ")
lista = ["New York","Los Angeles","Miami","Toronto","Berlin","Rome","Ciao"]
seq = iter(lista)
reqloc = keyboard = {"text": "Utilizza la geolocalizzazione", "request_location": True}
keyboard = {"keyboard": [[reqloc]]+[[{"text": i} for i in pair] for pair in zip(seq)]}



def handle(msg):
    content_type, chat_type, chat_id = telepot.glance(msg)
    print(content_type, chat_type, chat_id)
    if content_type == "text":
        bot.sendMessage(chat_id, msg["text"], reply_markup=keyboard)
    if content_type == "location":
        cola = msg['location']['latitude']
        colo = msg['location']['longitude']
        geolocator = Nominatim(user_agent=?) #here
        locationapp = geolocator.reverse(cola, colo)
        print(locationapp.address)












MessageLoop(bot, handle).run_as_thread()
while 1:
    time.sleep(10)

Вывод: местоположение личное 323090362 Les Grandes Versennes, Mosna c, Cogna c , Шаранта, Нувель-Аквитания, Франция, метрополия, 16440, Франция

...