获取用户位置并将坐标保存在数据库中
Get users location and saving coordinates in database
我在一个用户可以创建帖子的页面上有以下代码:
<script>
function getLocation()
{
if (navigator.geolocation)
{
navigator.geolocation.getCurrentPosition(showPosition);
}
}
function showPosition(position)
{
$('input#latitude').val(position.coords.latitude);
$('input#longitude').val(position.coords.longitude);
}
getLocation();
</script>
这将使用用户坐标填充表单上的两个隐藏字段。这些坐标保存在帖子的数据库表中,这样帖子就可以显示在地图上,这样其他用户就可以看到它的发布位置。
但是,如果用户决定:A) 不共享他们的位置B) 使用不支持地理定位的浏览器
我将无法保存此信息,它将破坏应用程序的要点!
他们有更好的方法吗?当用户决定不共享他们的位置或没有地理位置时,如何处理这些问题?
到目前为止,我已经:http://dev.driz.co.uk/location/作为测试,我还有一个字段,该字段将以城镇/城市的形式填充用户位置。这是为了让用户可以看到他们当前发布的位置,如果错误,则允许他们更改并更新坐标(注意,这只会得到中心位置,而不是实际位置,因为我们只会搜索他们输入的城镇)。
我希望使用谷歌地图API来计算用户的位置。
澄清我想要构建的内容:
1.)用户表中的用户位置将填充页面上显示的字段。然后将使用Geolocation以其当前位置覆盖此项。如果他们没有这个或阻止它,那么它将只使用预先填充的文本。
2.)使用这个位置值或地理位置,我们将获得用户的坐标,然后将它们插入到隐藏字段中。
3.)如果用户认为位置错误,或者出于任何原因想将其更改为其他位置,则可以在框中键入该位置,然后单击更改按钮,该按钮将找到该位置的坐标。(如果找不到错误,则显示错误,并从用户位置使用预先填充的默认值,直到找到新的为止)。
有人能帮忙吗?感谢
是否只想在浏览器中执行此操作?如果不是,并且用户决定不共享他的位置,您可以使用Google Maps API中的GeoIP库和地理编码服务来估计后端的坐标。
我在http://ipinfodb.com/用于用户不接受或其浏览器不支持地理定位的情况。他们为各种语言提供了大量的示例代码,包括使用javascript直接访问API,我发现他们免费的API的限制和准确性对于流量适中的网站来说足够合理。
- Javascript-如何读取json文件中的列并将其保存在Javascript数组中
- 如果使用 lodash 将属性存在于另一个对象中,则向对象添加属性
- Jquery菜单操作不稳定,定位不正确,存在一般错误
- 如何将getJson的响应保存在全局变量中
- 按下按钮时保存cookie
- 如何使用 Angular JS 将数据保存在数据库中
- 如何使用Spring MVC将Facebook返回的响应数据保存在Java类中
- 子字符串/正则表达式以获取字符串中保存的 SRC 值
- 用于检查数组中是否存在元素的javascript自定义方法
- HTML5在画布中加载较小的图像并保存实际大小的图像
- 是否可以在浏览器中使用纯JavaScript保存音频流
- 如何将多个画布保存为一个图像
- 使用javascript/jquery从现有数组中创建一个新数组,该数组保存项目存在的次数
- jQuery localStorage 如果存在,请保存它
- 如何在移动到新的HTML页面后使用保存在Javascript文件中的保存变量
- 根据页面元素的存在更改文件路径以保存页面内容
- 如何比较保存在变量中的querystring参数,并将变量保存在cookie中,并在每页上进行比较
- 在Json解析和在数据库中保存值方面存在问题
- 将对象替换为保存前已经存在的对象
- 如何在Mongoose中保存之前检查数据库中是否存在嵌入文档