javascript - JS 地理定位和存储

标签 javascript jquery geolocation local-storage

这是我的代码 http://jsfiddle.net/#&togetherjs=mjFbd89fzF

$(document).ready(function () {

    if (navigator.geolocation) {

    }
    if (typeof (localStorage) != "undefined") {

        navigator.geolocation.getCurrentPosition(function (position) {
            localStorage.setItem('latitude', position.coords.latitude);
            localStorage.setItem('longitude', position.coords.longitude);
        });

        $('#location').innerHTML = localStorage.getItem('latitude') + ' ' + localStorage.getItem('longitude');

    }
});

这是 HTML

<BODY>
        <h1>you're here</h1>

        <h2 id="location"></h2>

</BODY>

系统提示我共享我的位置,但即使位置存储在本地存储中,h2 标签也不会更新

最佳答案

getCurrentPosition 是异步函数,将在 $('#location') 之后执行。您可以将其存储在本地存储中,但该数据将在第二页后可用加载时,您可以在 getCurrentPosition 中设置 $('#location') 或使用 Deferred

#1
$(document).ready(function () {
 if (navigator.geolocation) {}

  navigator.geolocation.getCurrentPosition(function (position) {
   $('#location').html(position.coords.latitude + ' ' + position.coords.longitude);
  });
});

#2
$(document).ready(function () {
  var d = $.Deferred();

  if (navigator.geolocation) {}

  navigator.geolocation.getCurrentPosition(function (position) {
    d.resolve(position.coords.latitude, position.coords.longitude);
  });

  d.done(function(latitude, longitude) { 
    $('#location').html(latitude + ' ' + longitude);
  });
});

Example

关于javascript - JS 地理定位和存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26916001/

相关文章:

javascript - 注入(inject) webpack-dev-server.js

javascript - React Native TextInput 电话键盘提交?

javascript - 更改虚拟列phpgrid的位置

jquery - 如何使多个切换在 jquery 中工作

php - IP 地址转换为距特定邮政编码的距离

javascript - 测试是否已授予 html5 地理定位权限

google-maps - 如何计算10米的当前位置变化?

javascript - 将正则表达式转换为简单数组

javascript - 在 JavaScript 中从服务器导出 Excel 表格

javascript - javascript 生成的 HTML 格式不正确