Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/414.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 按钮单击隐藏谷歌地图标记_Javascript_Google Maps_Button_Google Maps Markers_Show Hide - Fatal编程技术网

Javascript 按钮单击隐藏谷歌地图标记

Javascript 按钮单击隐藏谷歌地图标记,javascript,google-maps,button,google-maps-markers,show-hide,Javascript,Google Maps,Button,Google Maps Markers,Show Hide,我编写了下面的代码,当单击id=“showmarks”按钮时,它会在谷歌地图上显示标记 我希望再次单击同一个按钮(或者使用id=“hidemarkers”单击另一个按钮)时,标记会隐藏 任何帮助都将不胜感激, 谢谢 $(文档).ready(函数(){ $(“#地图”).css({ 身高:500, 宽度:600 }); var mylatng=newgoogle.maps.LatLng(51.50754,-0.127894); init(“#map”,myLatLng,13); $(“#显示标记”

我编写了下面的代码,当单击id=“showmarks”按钮时,它会在谷歌地图上显示标记

我希望再次单击同一个按钮(或者使用id=“hidemarkers”单击另一个按钮)时,标记会隐藏

任何帮助都将不胜感激, 谢谢

$(文档).ready(函数(){
$(“#地图”).css({
身高:500,
宽度:600
});
var mylatng=newgoogle.maps.LatLng(51.50754,-0.127894);
init(“#map”,myLatLng,13);
$(“#显示标记”)。单击(函数(e){
placeMarkers('markers.xml');
});
});
var MYMAP={
map:null,
界限:空
}
MYMAP.init=函数(选择器、latLng、缩放){
变量myOptions={
缩放:缩放,
中心:拉特林,
mapTypeId:google.maps.mapTypeId.ROADMAP
}
this.map=new google.maps.map($(选择器)[0],myOptions);
this.bounds=new google.maps.LatLngBounds();
}
MYMAP.placeMarkers=函数(文件名){
$.get(文件名、函数(xml){
$(xml).find(“marker”).each(函数(){
var name=$(this.find('name').text();
var address=$(this.find('address').text();
var lat=$(this.find('lat').text();
var lng=$(this.find('lng').text();
var point=new google.maps.LatLng(parseFloat(lat),parseFloat(lng));
MYMAP.bounds.extend(点);
var marker=new google.maps.marker({
位置:点,,
地图:MYMAP.map
});
var infoWindow=new google.maps.infoWindow();
var html=''+name+'
'+地址; google.maps.event.addListener(标记'click',函数(){ setContent(html); 打开(MYMAP.map,marker); }); }); }); }
您可以使用一个布尔标志“shouldHideMarkers”,并检查它是真的,所以隐藏它们,还是假的,所以显示它们。 请记住,如果要从地图中删除标记,应将其“地图”属性设置为null。 最好的方法是将所有标记变量存储到一个数组中,并遍历该数组,以便将它们的map属性设置为null以隐藏它们

$(document).ready(function() {
$("#map").css({
    height: 500,
    width: 600
});
var myLatLng = new google.maps.LatLng(51.50754,-0.127894);
    MYMAP.init('#map', myLatLng, 13);

$("#showmarkers").click(function(e){
    MYMAP.placeMarkers('markers.xml');
});

});

var MYMAP = {
    map: null,
bounds: null
    }

MYMAP.init = function(selector, latLng, zoom) {
var myOptions = {
zoom:zoom,
center: latLng,
mapTypeId: google.maps.MapTypeId.ROADMAP
}

this.map = new google.maps.Map($(selector)[0], myOptions);
this.bounds = new google.maps.LatLngBounds();
}

MYMAP.placeMarkers = function(filename) {
$.get(filename, function(xml){
    $(xml).find("marker").each(function(){
        var name = $(this).find('name').text();
        var address = $(this).find('address').text();

        var lat = $(this).find('lat').text();
        var lng = $(this).find('lng').text();
        var point = new google.maps.LatLng(parseFloat(lat),parseFloat(lng));

        MYMAP.bounds.extend(point);

        var marker = new google.maps.Marker({
            position: point,
            map: MYMAP.map
        });

        var infoWindow = new google.maps.InfoWindow();
        var html='<strong>'+name+'</strong.><br />'+address;
        google.maps.event.addListener(marker, 'click', function() {
            infoWindow.setContent(html);
            infoWindow.open(MYMAP.map, marker);
        });

    });
});
}