Javascript 删除传单上的特定标记不是一项功能
我根据传单和OSM制作了一张地图,为每个标记创建了一个弹出窗口,其中包含一个删除相应标记的按钮,但它就是不起作用。我尝试过使用地图、图层和标记属性删除功能和删除标记函数,但它们中的每一个都返回它不是一个函数。谢谢你的帮助 这是我的密码:Javascript 删除传单上的特定标记不是一项功能,javascript,leaflet,openstreetmap,marker,Javascript,Leaflet,Openstreetmap,Marker,我根据传单和OSM制作了一张地图,为每个标记创建了一个弹出窗口,其中包含一个删除相应标记的按钮,但它就是不起作用。我尝试过使用地图、图层和标记属性删除功能和删除标记函数,但它们中的每一个都返回它不是一个函数。谢谢你的帮助 这是我的密码: <script type="text/javascript"> var count = 0; var map, layer, marker = []; function selesai(){ alert(c
<script type="text/javascript">
var count = 0;
var map, layer, marker = [];
function selesai(){
alert(count);
marker[count].removeMarker();
location.reload();
$.ajax({
url: "{{url('mapdata')}}/"+count,
data: {},
dataType: 'json',
type:'get',
success:function(data) {
initMap2(data);
}
});
}
function initMap(data){
var locations = data;
map = L.map( 'osmap_page', {
center: [locations[locations.length-1][2], locations[locations.length-1][3]],
zoom: 18
});
layer = L.tileLayer( 'http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
attribution: '© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a>',
subdomains: ['a','b','c']
}).addTo( map );
for ( var i=0; i < locations.length; i++) {
if (locations[i][0] == 'panic') {
var icon = L.icon({iconUrl:"{{asset('assets/splash4.gif')}}", iconAnchor: new L.Point(36,41), popupAnchor: new L.Point(-5, -45) });
marker[i] = L.marker( [locations[i][2], locations[i][3]], {icon: icon});
marker[i].bindPopup('<div id="content">'+
'<h3 style="color:red; text-align:center;">Panic</h3>'+
'<div id="bodyContent">'+
'<p> Nama : ' + locations[i][5] + " <br> Email : " + locations[i][6] + " <br> Nomor HP : " + locations[i][7] + " <br><br> Lokasi : " + locations[i][4] + " <br> Waktu : " + locations[i][1]+ '</p>'+
'</div>'+ '<button type="button" class="btn btn-warning btn-xs" onclick="proses()">Proses</button>'+ '<div class=pull-right><button type="button" class="btn btn-success btn-xs" onclick="selesai()">Selesai</button></div>'+
'</div>').addTo( map );
if(i == locations.length - 1){
count = i;
map.setView(new L.LatLng(locations[i][2], locations[i][3]), 18);
marker[i].bindPopup('<div id="content">'+
'<h3 style="color:red; text-align:center;">Panic</h3>'+
'<div id="bodyContent">'+
'<p> Nama : ' + locations[i][5] + " <br> Email : " + locations[i][6] + " <br> Nomor HP : " + locations[i][7] + " <br><br> Lokasi : " + locations[i][4] + " <br> Waktu : " + locations[i][1]+ '</p>'+
'</div>'+ '<button type="button" class="btn btn-warning btn-xs" onclick="proses()">Proses</button>'+ '<div class=pull-right><button type="button" class="btn btn-success btn-xs" onclick="selesai()">Selesai</button></div>'+
'</div>').openPopup().addTo( map );
}
} else {
var icon2 = L.icon({iconUrl:"{{asset('assets/opmarkerblue2.png')}}", iconAnchor: new L.Point(0,40), popupAnchor: new L.Point(10, -36)});
marker[i] = L.marker( [locations[i][2], locations[i][3]], {icon: icon2});
marker[i].bindPopup('<div id="content">'+
'<h3 style="color:blue; text-align:center;">Peristiwa</h3>'+
'<div id="bodyContent">'+
'<p> Nama : ' + locations[i][5] + " <br> Email : " + locations[i][6] + " <br> Nomor HP : " + locations[i][7] + " <br><br> Lokasi : " + locations[i][4] + " <br> Waktu : " + locations[i][1]+ '</p>'+
'</div>'+ '<button type="button" class="btn btn-warning btn-xs" onclick="proses()">Proses</button>'+ '<div class=pull-right><button type="button" class="btn btn-success btn-xs" onclick="selesai()">Selesai</button></div>'+
'</div>').addTo( map );
if(i == locations.length - 1){
count = i;
map.setView(new L.LatLng(locations[i][2], locations[i][3]), 18);
marker[i].bindPopup('<div id="content">'+
'<h3 style="color:blue; text-align:center;">Peristiwa</h3>'+
'<div id="bodyContent">'+
'<p> Nama : ' + locations[i][5] + " <br> Email : " + locations[i][6] + " <br> Nomor HP : " + locations[i][7] + " <br><br> Lokasi : " + locations[i][4] + " <br> Waktu : " + locations[i][1]+ '</p>'+
'</div>'+ '<button type="button" class="btn btn-warning btn-xs" onclick="proses()">Proses</button>'+ '<div class=pull-right><button type="button" class="btn btn-success btn-xs" onclick="selesai()">Selesai</button></div>'+
'</div>').openPopup().addTo( map );
}
}
}
$("#start").click(function() {
timer = setInterval(fetch2, 3000);
});
$("#stop").click(function() {
if(timer){
clearInterval(timer);
timer = null
}
});
}
</script>
var计数=0;
变量映射,图层,标记=[];
函数selesai(){
警报(计数);
标记[count]。移除标记();
location.reload();
$.ajax({
url:“{url('mapdata')}}/”+计数,
数据:{},
数据类型:“json”,
类型:'get',
成功:功能(数据){
initMap2(数据);
}
});
}
函数initMap(数据){
var位置=数据;
map=L.map('osmap_page'{
中心:[位置[locations.length-1][2],位置[locations.length-1][3],
缩放:18
});
layer=L.tileLayer('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png'{
属性:“©;”,
子域:['a','b','c']
}).addTo(地图);
对于(变量i=0;i电子邮件:“+locations[i][6]+”
诺莫惠普:“+locations[i][7]+”
洛卡斯:“+locations[i][4]+”
瓦克图:“+locations[i][1]+””+
“+”散文“+”塞莱赛“+
'')。添加到(地图);
如果(i==locations.length-1){
计数=i;
地图设置视图(新L.LatLng(位置[i][2],位置[i][3]),18);
标记[i].bindPopup(“”+
“恐慌”+
''+
“Nama:“+locations[i][5]+”
电子邮件:“+locations[i][6]+”
诺莫惠普:“+locations[i][7]+”
洛卡斯:“+locations[i][4]+”
瓦克图:“+locations[i][1]+””+
“+”散文“+”塞莱赛“+
'').openPopup().addTo(映射);
}
}否则{
var icon2=L.icon({iconUrl:{{asset('assets/opmarkerblue2.png')}}),iconAnchor:newl.Point(0,40),popupAnchor:newl.Point(10,-36)});
marker[i]=L.marker([locations[i][2],locations[i][3],{icon:icon2});
标记[i].bindPopup(“”+
“佩里斯蒂瓦”+
''+
“Nama:“+locations[i][5]+”
电子邮件:“+locations[i][6]+”
诺莫惠普:“+locations[i][7]+”
洛卡斯:“+locations[i][4]+”
瓦克图:“+locations[i][1]+””+
“+”散文“+”塞莱赛“+
'')。添加到(地图);
如果(i==locations.length-1){
计数=i;
地图设置视图(新L.LatLng(位置[i][2],位置[i][3]),18);
标记[i].bindPopup(“”+
“佩里斯蒂瓦”+
''+
“Nama:“+locations[i][5]+”
电子邮件:“+locations[i][6]+”
诺莫惠普:“+locations[i][7]+”
洛卡斯:“+locations[i][4]+”
瓦克图:“+locations[i][1]+””+
“+”散文“+”塞莱赛“+
'').openPopup().addTo(映射);
}
}
}
$(“#开始”)。单击(函数(){
定时器=设置间隔(FETCH2000);
});
$(“#停止”)。单击(函数(){
中频(定时器){
清除间隔(计时器);
计时器=空
}
});
}
请记住,问题源于函数selesai,它包含删除标记,但这不是函数错误。点击marker弹出窗口中的Selesai按钮触发Selesai本身。我已经得到了答案,在修正了各种可能性之后,答案很简单:
map.removeLayer(marker[count]);
我需要将其定义为marker[count],以指定应该删除哪个标记。干杯。您是否可以创建一个标记?我不确定“marker[count]”是否会为您提供所需的标记。。。解决此问题后,map.removeLayer(marker)应该可以工作。或者只是创建一个小提琴,这样我们可以更容易地调试您的代码