Место данных в сегодняшнем бизнесе невозможно переоценить, особенно данные пользователя, и одним из наиболее важных является информация о местоположении пользователя, поскольку это поможет в классификации различного пользовательского опыта и обратной связи в отношении местоположения пользователя. . Местоположение пользователя очень важно для разработчика и пользователя, так как это поможет разработчику оптимизировать пользовательский интерфейс для пользователей, что является беспроигрышной ситуацией для обеих сторон. Некоторые приложения настолько зависят от геолокации, что не могут эффективно работать без функции геолокации. Примером является Uber и карта Google.

Вот различные способы определения местоположения пользователя

Поиск IP-адреса

Один из полезных способов узнать ваше местоположение пользователя - использовать поиск IP-адреса, хотя это может быть не совсем бесплатным в зависимости от API. Некоторые очень хорошие API для этой операции: http://ip-api.com/, https://ipinfo.io, geoip-db.com и многие другие. Информация о местоположении может быть получена во многих форматах, таких как JSON, XML, CSV. Чтение документации API поможет вам лучше понять, как работает каждый из них. Вот пример запроса API для получения местоположения пользователя с помощью http://ip-api.com/ и jQuery.

function ipLookUp () {
  $.ajax('http://ip-api.com/json')
  .then(
      function success(response) {
          console.log('User\'s Location Data is ', response);
          console.log('User\'s Country', response.country);
},

      function fail(data, status) {
          console.log('Request failed.  Returned status of',
                      status);
      }
  );
}
ipLookUp()
 

Вышеупомянутый запрос возвращает географическую информацию пользователя в формате JSON. Это может быть резервная копия для систем, которые не поддерживают функции геолокации HTML5.

HTML 5 Геолокация

Хотя для этого метода определения местоположения пользователя требуется разрешение пользователя, и пользователь может разрешить или запретить сообщать свое местоположение. Этот метод в основном используется, когда предполагается, что пользователю должен быть предоставлен определенный класс информации в зависимости от местоположения. Этот API геолокации HTML5 можно использовать на следующих этапах;

  1. Проверьте, поддерживается ли геолокация, выполнив оператор «Если», подобный этому
if (navigator.geolocation) {
       // action if location is available
    } else {
        //action if location is unavailable
  }

2. Если геолокация поддерживается, запустите метод getCurrentPosition (), в противном случае отобразите сообщение пользователю.

if (navigator.geolocation) {
        navigator.geolocation.getCurrentPosition(showPosition);
    } else {
        alert("Geolocation is not supported by this browser.");
     }

3. Если метод getCurrentPosition () успешен, он возвращает объект координат функции, а функция showPosition () выводит широту и долготу.

function showPosition(position) {
    console.log("Latitude: " + position.coords.latitude + 
    "<br>Longitude: " + position.coords.longitude); 
}

API геолокации Google

Этот API возвращает местоположение пользователя на основе информации о вышках сотовой связи, которую может обнаружить мобильный клиент. Информация о пользователе передается в формате JSON по запросу HTTPS с использованием метода POST для URL-адреса:

https://www.googleapis.com/geolocation/v1/geolocate?key=YOUR_API_KEY

Важно, чтобы вы предоставили ключ API, чтобы сделать успешный запрос, вы можете получить ключ API для своего приложения ЗДЕСЬ. Тело запроса записывается в формате JSON следующим образом:

{
  "homeMobileCountryCode": 310,
  "homeMobileNetworkCode": 410,
  "radioType": "gsm",
  "carrier": "Vodafone",
  "considerIp": "true",
  "cellTowers": [
    // your Cell Tower Objects goes here.
  ],
  "wifiAccessPoints": [
    // you WiFi Access Point Objects goes here.
  ]
}

Успешный запрос API вернет ответ в формате JSON с указанием вашего местоположения и радиуса в форме точности, например:

{
  "location": {
    "lat": 51.0,
    "lng": -0.1
  },
  "accuracy": 1200.4
}

Если запрос завершился неудачно, тело ответа с ошибкой стандартного формата будет возвращено в формате JSON, а код состояния HTTP будет установлен на статус ошибки.

Заключение

Однако следует отметить, что геолокация также очень полезна для информации о местоположении, например:

  • Актуальная местная информация, такая как погода и последние новости.
  • Отображение достопримечательностей рядом с пользователем
  • Простая пошаговая навигация по местности (GPS)

Все вышеупомянутые методы дадут долготу и широту пользователя, которые теперь можно преобразовать в строковый адрес с помощью Google Map Reverse Geocoding API. Пример веб-приложения, которое работает с API геолокации HTML5, можно увидеть ЗДЕСЬ