当前位置: 首页 > 面试题库 >

存储HTML5地理位置数据

沈良策
2023-03-14
问题内容

如何在Rails
3中存储和处理网站用户的地理位置(经度和纬度),以便它检查是否在每个页面请求中我们已经在该用户的会话中保存了这些详细信息(如果我们正在不保存详细信息,那么我们应该从浏览器中请求用户的位置,然后将这些详细信息存储在会话中)?


问题答案:

根据您的要求,我会说您实际上并不需要ajax,因为大多数处理将使用JS(要求用户访问其位置,解析响应等)完成,因此我将使用JS设置一个cookie,然后Rails会看到)。

在您的控制器中

def action
  @lat_lng = cookies[:lat_lng].split("|")
end

在您看来

<%- unless @lat_lng %>
<script>
  getGeoLocation();
</script>
<%- end %>

在您的一个javascript文件中

function getGeoLocation() {
  navigator.geolocation.getCurrentPosition(setGeoCookie);
}

function setGeoCookie(position) {
  var cookie_val = position.coords.latitude + "|" + position.coords.longitude;
  document.cookie = "lat_lng=" + escape(cookie_val);
}

请注意,上述所有方法都不会测试用户是否具有支持地理位置的浏览器,或者用户是否已授予(或拒绝)使用其位置的权限,并且该cookie将是会话cookie,而JS不会请测试一下是否已设置Cookie。要在Cookie上设置更复杂的信息,请访问http://www.quirksmode.org/js/cookies.html。有关使用javascript的GeoLocation的更多信息,请参见http://diveintohtml5.info/geolocation.html。



 类似资料:
  • 主要内容:定位用户的位置,浏览器支持,HTML5 - 使用地理定位,实例,处理错误和拒绝,实例,在地图中显示结果,实例,给定位置的信息,getCurrentPosition() 方法 - 返回数据,Geolocation 对象 - 其他有趣的方法,实例HTML5 Geolocation(地理定位)用于定位用户的位置。 定位用户的位置 HTML5 Geolocation API 用于获得用户的地理位置。 鉴于该特性可能侵犯用户的隐私,除非用户同意,否则用户位置信息是不可用的。 浏览器支持 Inte

  • HTML5 Geolocation(地理定位)用于定位用户的位置。 定位用户的位置 HTML5 Geolocation API 用于获得用户的地理位置。 鉴于该特性可能侵犯用户的隐私,除非用户同意,否则用户位置信息是不可用的。 浏览器支持 Internet Explorer 9+, Firefox, Chrome, Safari 和 Opera 支持Geolocation(地理定位). 注意: G

  • 本文向大家介绍Safari 5中的HTML5地理位置,包括了Safari 5中的HTML5地理位置的使用技巧和注意事项,需要的朋友参考一下 HTML5 Geolocation API使您可以与自己喜欢的网站共享位置。JavaScript可以捕获您的经度和纬度,可以将其发送到后端Web服务器,并可以进行精美的位置感知操作,例如查找本地商家或在映射上显示您的位置。 示例 让我们看看如何获取当前位置-

  • 本文向大家介绍如何使用HTML5地理位置查找位置?,包括了如何使用HTML5地理位置查找位置?的使用技巧和注意事项,需要的朋友参考一下 HTML5 Geolocation API使您可以与自己喜欢的网站共享位置。JavaScript可以捕获您的纬度和经度,并且可以发送到后端Web服务器,并进行精美的位置感知操作,例如查找本地商家或在映射上显示您的位置。 地理位置API使用全局导航器对象的新属性,即

  • bugu-mongo支持地理位置数据的存储、索引、查询。相关的类都位于com.bugull.mongo.geo包中。 注意: MongoDB对于地理位置数据,默认使用的是WGS84坐标系。如果你的地理位置数据来源是其他坐标系的,请记得先进行转换。 存储、索引 MongoDB能够存储不同类型的地理位置数据,这些数据都是GeoJSON格式。 目前,bugu-mongo支持: Point LineStr

  • 问题内容: 除了是非持久性的并且仅限于当前窗口之外,会话存储与本地存储相比是否还有其他好处(性能,数据访问等)? 问题答案: localStorage和sessionStorage都扩展了Storage。除了的预期的“非持久性”外,它们之间没有区别。 也就是说,存储在中的数据将 一直保留到明确删除为止 。所做的更改将被保存,并且可用于当前和将来对该站点的所有访问。 对于, 更改仅在每个选项卡上可用