我想存储Google地图点击事件中的特定变量。我认为唯一的方法是使用某种类型的后Ajax调用。唯一的问题是我不知道如何在我的活动中整合表格。
google.maps.event.addListener(marker, 'click', (function(marker, i)
{
return function()
{
infowindow.setContent("<a href="+SID[i].innerHTML+">"
+ lis[i].innerHTML+" </a?>"+"<br/>"
+ "<a href='#' id='directions' >Get Directions </a>");
infowindow.open(map, marker);
}
})
(marker, i));
所以当我点击一个特定的标记时,我想存储标记位置,这将是SID [i]。稍后在同一页面中,我将使用存储的变量。
由于
答案 0 :(得分:1)
只要页面没有重新加载,您就可以使用以下任何一种方式存储变量:
范围内的JS变量示例
(function($)
{
var storedMarker;
$(function()
{
google.maps.event.addListener(marker, 'click', (function(marker, i)
{
storedMarker = marker;
//continue with click logic
...
})(marker, i));
// Do something with stored marker
$('.useStoredMarker').click(function(event)
{
if (storedMarker instanceof google.maps.Marker)
{
// storedMarker exists do something with it
}
else
{
// Marker doesnt exist show error or do nothing
}
});
});
})(jQuery);
HTML 5本地存储空间
// Instead of storing variable in JS you can use this (HTML5 only)
localStorage.setItem("clickedMarker", marker);
// Retrieving it
var clickedMarker = localStorage.getItem("clickedMarker");
jQuery数据属性
// Assign the marker to a DOM elements data attribute
$('#clickedMarkers').data('marker', marker);
// Retrieving it
var clickedMarker = $('#clickedMarkers').data('marker');