Доступ к местоположению "Браузер"

Мы все видели эту подсказку:

enter image description here

Насколько я знаю, это не определение местоположения на основе IP. Это определение местоположения на основе устройства.

Мне не нужно определение местоположения по IP, потому что 1) оно ненадежно и 2) если пользователь просматривает мой сайт с помощью VPN, данные о местоположении будут абсолютно неверными.

Я просмотрел PyPi.org и DjangoPackages.org, но не нашел ничего, чтобы реализовать это в моем Django приложении.

Есть ли решение?

Чтобы заставить браузер запрашивать у пользователя геолокацию, необходимо использовать javascript.

Этот фрагмент из w3schools демонстрирует это.

Широту и долготу можно затем передать бэкенду.

<!DOCTYPE html>
<html>
<body>

<p>Click the button to get your coordinates.</p>

<button onclick="getLocation()">Try It</button>

<p id="demo"></p>

<script>
var x = document.getElementById("demo");

function getLocation() {
  if (navigator.geolocation) {
    navigator.geolocation.getCurrentPosition(showPosition);
  } else { 
    x.innerHTML = "Geolocation is not supported by this browser.";
  }
}

function showPosition(position) {
  x.innerHTML = "Latitude: " + position.coords.latitude + 
  "<br>Longitude: " + position.coords.longitude;
}
</script>

</body>
</html>

Вернуться на верх