无法通过本地存储传递坐标

时间:2018-07-30 22:33:47

标签: javascript google-maps local-storage coordinates sessionstorage

我正在尝试制作一个Google Maps应用程序,您可以在其中输入您的位置,然后重定向到带有显示您的位置的地图的另一个页面。 问题是,当我将坐标保存在一个Javascript文件的本地存储中时,它无法在另一个Javascript文件上读出。  有什么想法吗?

在这里输入我的密码

保存数据:

 var location = document.getElementById('location-input').value;
axios.get('https://maps.googleapis.com/maps/api/geocode/json', {
    params:{
        address:location,
        key:'AIzaSyBsOGGokaWGD3m5y4uYYG_sv7U1T9nZ5HI'
    }
})
.then(function(response) {
    // Log full response
    console.log(response);

    var lat = response.data.results[0].geometry.location.lat;
    var lng = response.data.results[0].geometry.location.lng;

    sessionStorage.setItem('lat', lat);
    sessionStorage.setItem('lng', lng)

    console.log(lat)
})
.catch(function(error) {
    console.log(error);
})`

获取数据:

function initMap(){
var lat = sessionStorage.getItem('lat');
var lng = sessionStorage.getItem('lng')
console.log(lat)
})}

我想补充一点,直接传递数字或传递单词是没有问题的。

2 个答案:

答案 0 :(得分:2)

latlnggoogle.maps.LatLng的功能。 打电话给他们获取价值:

var lat = response.data.results[0].geometry.location.lat();
var lng = response.data.results[0].geometry.location.lng();

实时概念验证:

答案 1 :(得分:0)

更好地在对数据进行编码之前将其编码

var coord = JSON.stringify({
  lat :  response.data.results[0].geometry.location.lat();
  lng  : response.data.results[0].geometry.location.lng();
});
sessionStorage.setItem('coord', coord);