我有一个用postgresql制作的餐馆数据集,它们在地图上显示为带有信息的标记。
现在我想用一个按钮从地图中删除一个带有信息的标记,或者显示在标记信息中。
我将不胜感激任何帮助。感谢。
HTML:
<button type="button" class="btn btn-danger" onclick="rest()">Restaurants</button>
码
var xmlhttp;
var variable;
var be;
var search_group = new L.LayerGroup();
var clickArr = new Array();
function rest()
{
if (window.XMLHttpRequest)
{
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{
// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET","new.php",true);
xmlhttp.send();
map.addLayer(search_group);
xmlhttp.onreadystatechange = function restaurant()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
variable = jQuery.parseJSON(xmlhttp.responseText);
for (var i in variable)
{
be = L.marker(new L.LatLng(parseFloat(variable[i].lat), parseFloat (variable[i].lon)),options={"id":variable[i].id});
var container= $('<div />');
container.html('<b>'+variable[i].name+'</b>'+'<br/>'
+variable[i].street+'<br/>'
+variable[i].zipcode+'<br/>'
+variable[i].city+'<br/>'
+variable[i].telephone+'<br/>'
+'<a href=http://'+variable[i].website+'>'
+variable[i].website+'</a>');
be.bindPopup(container[0]); id="+variable[i].lat+"_"+variable[i].lon+">Remove Marker</a>")
marker.push(be);
be.addTo(map);
};
};
答案 0 :(得分:0)
这应该就像将标记存储在一个数组中一样简单(看起来你的变量为marker
,即使它没有声明为数组),其索引与{{1}中的索引相同}数组,以便您可以在“删除标记”按钮/链接中记住此值(例如使用HTML5数据集或jQuery variable
)并相应地执行操作。