我正在尝试制作一个Google地图应用程序,您可以在其中输入位置,然后重定向到另一个页面,其中包含显示您位置的地图。 问题是,当我将坐标保存在一个 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)
})}
我想补充一点,直接传递数字或传递单词都没有问题。
lat
和lng
是google.maps.LatLng
的函数。 调用它们以获取值:
var lat = response.data.results[0].geometry.location.lat();
var lng = response.data.results[0].geometry.location.lng();
现场概念验证:
- 示例商店
- 示例检索
最好在对数据进行编码之前对其进行编码
var coord = JSON.stringify({
lat : response.data.results[0].geometry.location.lat();
lng : response.data.results[0].geometry.location.lng();
});
sessionStorage.setItem('coord', coord);