@MRcracker

Как определить местоположение пользователя?

Какие бывают способы определить город из которого пользователь зашел на сайт?

Нашел только варианты с получением api пользователя и дальнейшей передачей в сервисы яндекса или гугла запроса, но такие методы платные. Есть еще какие-то варианты?
  • Вопрос задан
  • 78 просмотров
Решения вопроса 1
delphinpro
@delphinpro Куратор тега JavaScript
frontend developer
Скачиваете базу GeoIP и пользуетесь ею. Раз в месяц можно обновлять.

Например https://sypexgeo.net/
spoiler
class GeoIp
{
  private \SxGeo $sxGeo;

  public function __construct()
  {
    $this->sxGeo = new \SxGeo(Storage::disk('local')->path('sxgeo/SxGeo.dat'));
  }

  public function getDetectedCountry($ip = null)
  {
    if (!$ip) {
      $ip = real_ip();
    }

    $countryCode = strtolower($this->sxGeo->getCountry($ip)) ?: 'ru';
    return Country::find($countryCode);
  }
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
NeiroNx
@NeiroNx
Программист
Спросить.
Ответ написан
Bread09
@Bread09
Newonkiy
https://api.db-ip.com/v2/free/self
бесплатный, но вроде есть ограничения по запросам
При открытии html отправляешь запрос на этот адрес и в ответ получаешь json с ip, городом и прочей инфой
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы