Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么marker.setVisible(false)仅在最新的marker和don';不适用于所有标记?_Javascript - Fatal编程技术网

Javascript 为什么marker.setVisible(false)仅在最新的marker和don';不适用于所有标记?

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

我有一个谷歌地图的问题,我不能删除地图标记与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" 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));
}
函数按主题搜索(