Javascript 为什么marker.setVisible(false)仅在最新的marker和don';不适用于所有标记?
我有一个谷歌地图的问题,我不能删除地图标记与setVisible(假)功能 为什么marker.setVisible(false)不适用于所有标记?完整代码:Javascript 为什么marker.setVisible(false)仅在最新的marker和don';不适用于所有标记?,javascript,Javascript,我有一个谷歌地图的问题,我不能删除地图标记与setVisible(假)功能 为什么marker.setVisible(false)不适用于所有标记?完整代码: <style>html, body {height: 100%;margin: 0;padding: 0;}#map {height: 100%;width: 70%;margin-left: 30%;border: 1px solid #ddd;}</style> <input type="text
<style>html, body {height: 100%;margin: 0;padding: 0;}#map {height: 100%;width: 70%;margin-left: 30%;border: 1px solid #ddd;}</style>
<input type="text" id="nameTheme">
<input type="button" name="bt" id="bt" onclick="searchByTheme()" value="Search">
<div id="map"></div>
<script type="text/javascript"
src="https://maps.googleapis.com/maps/api/js?language=en&libraries=geometry,places&key=AIzaSyA-AB-9XZd-iQby-bNLYPFyb0pR2Qw3orw"></script>
<script>
var infowindow;
var map;
var red_icon = 'http://maps.google.com/mapfiles/ms/icons/red-dot.png';
var purple_icon = 'http://maps.google.com/mapfiles/ms/icons/purple-dot.png';
//variable where marker values are saved
var locations = [["12","-6.888048","-38.567562","Event name 1","theme 1","2018-08-13","2018-08-17","1","3"],["13","-6.889559","-38.545033","Event name 2","theme 2","2018-08-13","2018-08-15","1","3"],["14","-6.890481","-38.544441","Event name 3","theme 3","2018-08-15","2018-08-23","1","3"]];
map = new google.maps.Map(document.getElementById('map'), {
center: {lat: -6.889320, lng: -38.553678},
zoom: 14,
});
infoWindow = new google.maps.InfoWindow;
var markers = {};
var i ; var confirmed = 0;
for (var i = locations.length - 1; i >= 0; i--) {
marker = new google.maps.Marker({
position: new google.maps.LatLng(locations[i][1], locations[i][2]),
map: map,
icon : locations[i][7] === '1' ? red_icon : purple_icon,
html: "<div>\n" +
"<table class=\"map1\">\n" +
"<tr>\n" +
"<td><a>Título:</a></td>\n" +
"<td><input disabled id='manual_title' placeholder='" + locations[i][3]+"'></td></tr>\n" +
"</table>\n" +
"</div>"
});
google.maps.event.addListener(marker, 'click', (function(marker, i) {
return function() {
infowindow = new google.maps.InfoWindow();
confirmed = locations[i][7] === '1' ? 'checked' : 0;
$("#confirmed").prop(confirmed,locations[i][7]);
$("#id").val(locations[i][0]);
$("#title").val(locations[i][3]);
$("#form").show();
infowindow.setContent(marker.html);
infowindow.open(map, marker);
}
})(marker, i));
}
function searchByTheme(){
var i ; var confirmed = 0;
for (var i = locations.length - 1; i >= 0; i--) {
if(locations[i][4] == nameTheme.value){
marker = new google.maps.Marker({
position: new google.maps.LatLng(locations[i][1], locations[i][2]),
map: map,
icon : locations[i][7] === '1' ? purple_icon : red_icon,
html: "<div>\n" +
"<table class=\"map1\">\n" +
"<tr>\n" +
"<td><a>Título:</a></td>\n" +
"<td><input disabled id='manual_title' placeholder='" + locations[i][3]+"'></td></tr>\n" +
"</table>\n" +
"</div>"
});
google.maps.event.addListener(marker, 'click', (function(marker, i) {
return function() {
infowindow = new google.maps.InfoWindow();
confirmed = locations[i][7] === '1' ? 'checked' : 0;
$("#confirmed").prop(confirmed,locations[i][7]);
$("#id").val(locations[i][0]);
$("#title").val(locations[i][3]);
$("#form").show();
infowindow.setContent(marker.html);
infowindow.open(map, marker);
}
})(marker, i));
} else {
marker.setVisible(false );
}
}
}
</script>
html,正文{高度:100%;边距:0;填充:0;}#映射{高度:100%;宽度:70%;左侧边距:30%;边框:1px实心#ddd;}
var信息窗口;
var映射;
var red_图标http://maps.google.com/mapfiles/ms/icons/red-dot.png';
var purple_图标http://maps.google.com/mapfiles/ms/icons/purple-dot.png';
//标记值所在的变量得救
风险值位置=[“12”、“-6.888048”、“-38.567562”、“活动名称1”、“主题1”、“2018-08-13”、“2018-08-17”、“1”、“3”]、[“13”、“-6.889559”、“-38.545033”、“活动名称2”、“主题2”、“2018-08-13”、“2018-08-15”、“1”、“3”]、[“14”、“-6.890481”、“38.544441”、“活动名称3”、“主题3”、“2018-08-15”、“2018-08-23”、“1”、“3”];
map=new google.maps.map(document.getElementById('map'){
中心:{lat:-6.889320,lng:-38.553678},
缩放:14,
});
infoWindow=新建google.maps.infoWindow;
var标记={};
var i;var=0;
对于(var i=locations.length-1;i>=0;i--){
marker=新的google.maps.marker({
位置:新的google.maps.LatLng(位置[i][1],位置[i][2]),
地图:地图,
图标:位置[i][7]=“1”?红色图标:紫色图标,
html:“\n”+
“\n”+
“\n”+
“蒂图罗:\n”+
“\n”+
“\n”+
""
});
google.maps.event.addListener(标记,'click',(函数(标记,i){
返回函数(){
infowindow=new google.maps.infowindow();
已确认=位置[i][7]=“1”?“已检查”:0;
美元(“#已确认”).prop(已确认,地点[i][7]);
$(“#id”).val(位置[i][0]);
$(#title”).val(地点[i][3];
$(“#形式”).show();
setContent(marker.html);
信息窗口。打开(地图、标记);
}
})(marker,i));
}
函数searchByTheme(){
var i;确认的var=0;
对于(var i=locations.length-1;i>=0;i--){
if(位置[i][4]==nameTheme.value){
marker=新的google.maps.marker({
位置:新的google.maps.LatLng(位置[i][1],位置[i][2]),
地图:地图,
图标:位置[i][7]=“1”?紫色图标:红色图标,
html:“\n”+
“\n”+
“\n”+
“蒂图罗:\n”+
“\n”+
“\n”+
""
});
google.maps.event.addListener(标记,'click',(函数(标记,i){
返回函数(){
infowindow=new google.maps.infowindow();
已确认=位置[i][7]=“1”?“已检查”:0;
美元(“#已确认”).prop(已确认,地点[i][7]);
$(“#id”).val(位置[i][0]);
$(#title”).val(地点[i][3];
$(“#形式”).show();
setContent(marker.html);
信息窗口。打开(地图、标记);
}
})(marker,i));
}否则{
marker.setVisible(假);
}
}
}
完整代码:
<style>html, body {height: 100%;margin: 0;padding: 0;}#map {height: 100%;width: 70%;margin-left: 30%;border: 1px solid #ddd;}</style>
<input type="text" id="nameTheme">
<input type="button" name="bt" id="bt" onclick="searchByTheme()" value="Search">
<div id="map"></div>
<script type="text/javascript"
src="https://maps.googleapis.com/maps/api/js?language=en&libraries=geometry,places&key=AIzaSyA-AB-9XZd-iQby-bNLYPFyb0pR2Qw3orw"></script>
<script>
var infowindow;
var map;
var red_icon = 'http://maps.google.com/mapfiles/ms/icons/red-dot.png';
var purple_icon = 'http://maps.google.com/mapfiles/ms/icons/purple-dot.png';
//variable where marker values are saved
var locations = [["12","-6.888048","-38.567562","Event name 1","theme 1","2018-08-13","2018-08-17","1","3"],["13","-6.889559","-38.545033","Event name 2","theme 2","2018-08-13","2018-08-15","1","3"],["14","-6.890481","-38.544441","Event name 3","theme 3","2018-08-15","2018-08-23","1","3"]];
map = new google.maps.Map(document.getElementById('map'), {
center: {lat: -6.889320, lng: -38.553678},
zoom: 14,
});
infoWindow = new google.maps.InfoWindow;
var markers = {};
var i ; var confirmed = 0;
for (var i = locations.length - 1; i >= 0; i--) {
marker = new google.maps.Marker({
position: new google.maps.LatLng(locations[i][1], locations[i][2]),
map: map,
icon : locations[i][7] === '1' ? red_icon : purple_icon,
html: "<div>\n" +
"<table class=\"map1\">\n" +
"<tr>\n" +
"<td><a>Título:</a></td>\n" +
"<td><input disabled id='manual_title' placeholder='" + locations[i][3]+"'></td></tr>\n" +
"</table>\n" +
"</div>"
});
google.maps.event.addListener(marker, 'click', (function(marker, i) {
return function() {
infowindow = new google.maps.InfoWindow();
confirmed = locations[i][7] === '1' ? 'checked' : 0;
$("#confirmed").prop(confirmed,locations[i][7]);
$("#id").val(locations[i][0]);
$("#title").val(locations[i][3]);
$("#form").show();
infowindow.setContent(marker.html);
infowindow.open(map, marker);
}
})(marker, i));
}
function searchByTheme(){
var i ; var confirmed = 0;
for (var i = locations.length - 1; i >= 0; i--) {
if(locations[i][4] == nameTheme.value){
marker = new google.maps.Marker({
position: new google.maps.LatLng(locations[i][1], locations[i][2]),
map: map,
icon : locations[i][7] === '1' ? purple_icon : red_icon,
html: "<div>\n" +
"<table class=\"map1\">\n" +
"<tr>\n" +
"<td><a>Título:</a></td>\n" +
"<td><input disabled id='manual_title' placeholder='" + locations[i][3]+"'></td></tr>\n" +
"</table>\n" +
"</div>"
});
google.maps.event.addListener(marker, 'click', (function(marker, i) {
return function() {
infowindow = new google.maps.InfoWindow();
confirmed = locations[i][7] === '1' ? 'checked' : 0;
$("#confirmed").prop(confirmed,locations[i][7]);
$("#id").val(locations[i][0]);
$("#title").val(locations[i][3]);
$("#form").show();
infowindow.setContent(marker.html);
infowindow.open(map, marker);
}
})(marker, i));
} else {
marker.setVisible(false );
}
}
}
</script>
html,正文{高度:100%;边距:0;填充:0;}#映射{高度:100%;宽度:70%;左侧边距:30%;边框:1px实心#ddd;}
var信息窗口;
var映射;
var red_图标http://maps.google.com/mapfiles/ms/icons/red-dot.png';
var purple_图标http://maps.google.com/mapfiles/ms/icons/purple-dot.png';
//标记值所在的变量得救
风险值位置=[“12”、“-6.888048”、“-38.567562”、“活动名称1”、“主题1”、“2018-08-13”、“2018-08-17”、“1”、“3”]、[“13”、“-6.889559”、“-38.545033”、“活动名称2”、“主题2”、“2018-08-13”、“2018-08-15”、“1”、“3”]、[“14”、“-6.890481”、“38.544441”、“活动名称3”、“主题3”、“2018-08-15”、“2018-08-23”、“1”、“3”];
map=new google.maps.map(document.getElementById('map'){
中心:{lat:-6.889320,lng:-38.553678},
缩放:14,
});
infoWindow=新建google.maps.infoWindow;
var标记={};
var i;var=0;
对于(var i=locations.length-1;i>=0;i--){
marker=新的google.maps.marker({
位置:新的google.maps.LatLng(位置[i][1],位置[i][2]),
地图:地图,
图标:位置[i][7]=“1”?红色图标:紫色图标,
html:“\n”+
“\n”+
“\n”+
“蒂图罗:\n”+
“\n”+
“\n”+
""
});
google.maps.event.addListener(标记,'click',(函数(标记,i){
返回函数(){
infowindow=new google.maps.infowindow();
已确认=位置[i][7]=“1”?“已检查”:0;
美元(“#已确认”).prop(已确认,地点[i][7]);
$(“#id”).val(位置[i][0]);
$(#title”).val(地点[i][3];
$(“#形式”).show();
setContent(marker.html);
信息窗口。打开(地图、标记);
}
})(marker,i));
}
函数按主题搜索(