1

Получение координат

Тема: Получение координат

Добрый день!

Подскажите, почему  не работать данный запрос?

https://geocode-maps.wialon.com/hst-api … s_geocode?
  coords=[{
    "lon":27.516643322771575,
    "lat":53.91069937030936
  }]
  &flags=1255211008
  &uid=50935
-------------------------------------
{"error":1}

Администратор системы мониторинга
ИМК
2

Получение координат

Re: Получение координат

LyDjons пишет:

Добрый день!

Подскажите, почему  не работать данный запрос?

https://geocode-maps.wialon.com/hst-api … s_geocode?
  coords=[{
    "lon":27.516643322771575,
    "lat":53.91069937030936
  }]
  &flags=1255211008
  &uid=50935
-------------------------------------
{"error":1}

Добрый день,

В данном примере используется ID тестового пользователя из документации.
Для того, чтобы запрос работал вам необходимо в uid передать ID вашего текущего пользователя, который в данный момент залогинен в систему.
Описание запроса есть тут -- https://sdk.wialon.com/wiki/ru/sidebar/ … #parametry

Anton Zinovyev
Technical Care Engineer (L2)
Wialon
3

Получение координат

Re: Получение координат

Добрый день.
Не могу нигде в документации найти, как получить ID текущего пользователя? Направьте пожалуйста:) В ответах после логина вижу номер сессии, а id пользователя не могу определить. Заранее благодарен!

4

Получение координат

Re: Получение координат

o.konstantin.a добрый день, в ответе на запрос token/login возвращается информация по текущему пользователю, включая ID. Вам необходим объект user, например:

"user": {
        "nm": " USERNAME",
        "cls": 1,
        "id": USER_ID,
        "crt": CREATOR_ID,
        "bact": ACCOUNT_ID,
Anton Zinovyev
Technical Care Engineer (L2)
Wialon
5

Получение координат

Re: Получение координат

Спасибо за оперативный ответ, с флагом дополнительной информации разобрался. В uid передаю user["id"]
Сейчас передаю все параметры, но получаю error 4.
Вот пример кода:

GIS_API_URL = "https://geocode-maps.wialon.host/local.obs-glonass.ru/gis_geocode" # пробовал также с hst-api.wialon.host

async def get_address_from_coordinates(lat: float, lon: float, uid: int) -> str:
    """
    Получает адрес по координатам через API Wialon.

    :param lat: Широта (latitude)
    :param lon: Долгота (longitude)
    :param uid: Идентификатор пользователя (UID)
    """
    base_url = GIS_API_URL

    # Формируем JSON-объект с координатами и кодируем его в URL-формат
    coords = urllib.parse.quote(f'[{{"lon":{lon},"lat":{lat}}}]')

    # Формируем параметры запроса
    params = {
        "coords": coords,
        "flags": 1255211008
        "uid": uid
    }

    async with httpx.AsyncClient() as client:
        try:
            response = await client.get(base_url, params=params)
            response.raise_for_status()

            data = response.json()

            if isinstance(data, list) and len(data) > 0:
                return data[0]

Что я делаю не так?

6

Получение координат

Re: Получение координат

o.konstantin.a
geocode-maps.wialon.host, hst-api.wialon.host - данные ресурсы не относятся к Wialon, поэтому подсказать по их использованию мы не можем.
Если вы используете Wialon Local, то запрос необходимо выполнять только на DNS сайта мониторинга:

GIS_API_URL = "https://local.obs-glonass.ru/gis_geocode"
Anton Zinovyev
Technical Care Engineer (L2)
Wialon
7

Получение координат

Re: Получение координат

Спасибо, в браузере отработал, сейчас буду дальше разбираться.