django 访问“浏览器”位置

vbopmzt1  于 2023-05-30  发布在  Go
关注(0)|答案(1)|浏览(123)

我们都看到了这个提示:

据我所知,这是不是基于IP的位置。这是基于设备的定位。
我不想要基于IP的位置,因为1)它不可靠,2)如果用户使用VPN浏览我的网站,位置数据绝对是错误的。
我已经搜索了PyPi.org和DjangoPackages.org,但没有找到任何在我的Django应用程序中实现的东西。
有什么解决办法吗?

mrfwxfqh

mrfwxfqh1#

要让浏览器向用户询问地理位置,你必须使用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>

相关问题