Локация по произвольному IP адресу через Yandex Maps API
Всем привет!
Надо в пост обработке запросов на бэкенде получить из клиентского IP(v4/v6) страну и город. Увы, покупной MaxMind GeoIP использовать нет возможности,а GeoLite, по отзывам, не очень справляется со своей задачей. На проекте используется фронтом Yandex Maps. Вот поэтому задумался, можно ли использовать их для получения локации по IP.
У Yandex есть JS API, по которому можно получить координаты пользователя через ymaps.geolocation.get(...). Но проблема в том, что этот метод не принимает IP. Есть еще HTTP API Геокодера - но через него также не запросить локацию по IP.
Наверное, Yandex Maps API можно использовать на фронте и к запросами клиента добавлять локацию, но тогда придется что-то придумывать, если появятся мобильные приложения. Поэтому, кажется, что разумно было бы реализовать такое преобразование в одном месте(в бэкенде).
Подскажите, пожалуйста, есть ли возможность с Yandex Maps получить локацию по IP, или возможные альтернативные пути для коммерческой разработки
Ответы (1 шт):
Используйте для определения координат по ip-адресу Локатор. А после кидайте координаты в функцию geocode() JS API Яндекс карт с показом результата на небольшой карте. Такой сценарий у Яндекса бесплатен.