javascript - 如何将地理位置变量从客户端传递到服务器端

标签 javascript django html google-maps geolocation

有人可以建议我一种方法,只要用户允许使用他的地理位置,就可以将客户端 Java 脚本位置变量(lat、lng)传递到我的服务器端。这样我就可以使用位置变量在数据库中查询 10 公里范围内的商店并将其显示在 map 上。

我正在使用HTML5 Geolocation在客户端用于获取用户位置,在服务器端使用 Django + PostGIS 数据库进行距离查找。

最佳答案

为了在用户允许使用其地理位置后立即将用户地理位置从客户端传递到服务器端,方法是

  1. 将用户位置变量 (pos) 分配给 HTML 元素(位置)
  2. 然后,自动提交包含 POST 方法的 HTML 表单。

以上代码都必须在 Google Geolocation API 中编写,如下面的摘录所示。

var infowindow = new google.maps.InfoWindow({
    map: map,
    position: pos,
    content: 'Location found using HTML5.'
  });
  // the below line has been inserted to assign a JS variable to HTML input field called 'geolocation'
document.getElementById('location').value = pos
  map.setCenter(pos);
// the below line has been inserted to autosubmit the form.  
document.getElementById("geolocation").submit(); 

下面是 HTML 表单

<form id = "geolocation" action="/location" method="POST" >
            {% csrf_token %}
        <input type="text" id = "location" name="location" value="" />
        <input type="submit" />

</form>

关于javascript - 如何将地理位置变量从客户端传递到服务器端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18592871/

相关文章:

javascript - 用javascript发送数据,我怎么得到 "protect"或者 "encrypt"呢?

javascript - IE 6 中的 Jquery 加载错误

python - Django REST 框架 : update() based on query string parameter

python - Django 。 Python 社交认证。在管道末端创建配置文件

html - CSS - 在不将图像放入 HTML 的情况下制作漂亮的 slider

javascript - 如何以正确的纵横比显示响应式 5 张扑克牌图像?

javascript - jquery - 调用外部js文件中的函数

python - 如何在 Django 中排除表单中的继承字段?

javascript - 同时在两个文本框上显示光标

jquery - 将新行添加到表中仅复制下拉列表