Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/440.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 谷歌地图API:如何显示隐藏标记?_Javascript_Google Maps_Google Maps Api 3 - Fatal编程技术网

Javascript 谷歌地图API:如何显示隐藏标记?

Javascript 谷歌地图API:如何显示隐藏标记?,javascript,google-maps,google-maps-api-3,Javascript,Google Maps,Google Maps Api 3,我遵循官方API文档,提出了如下函数: function setMapOnAll(map) { for (var i = 0; i < markers.length; i++) { markers[i].setMap(map); } } 函数setMapOnal(映射){ 对于(var i=0;i

我遵循官方API文档,提出了如下函数:

function setMapOnAll(map) {
        for (var i = 0; i < markers.length; i++) {
            markers[i].setMap(map);
        }
    }
函数setMapOnal(映射){
对于(var i=0;i

但是,我正在尝试编写一个可以“取消隐藏”某些标记的函数,但是我找不到任何关于撤消此操作的文档。如何实现这一点?

我相信您只需在要显示的标记上调用
setMap()
,并将
google.maps.Map
的实例传递给它,而不是
null

Map变量需要在全局范围内(HTML click listener函数在全局范围内运行)

代码片段:

//全局变量
var映射;
var标记=[];
函数初始化(){
//初始化全局映射变量
map=新建google.maps.map(
document.getElementById(“地图画布”){
中心:新google.maps.LatLng(37.4419,-122.1419),
缩放:13,
mapTypeId:google.maps.mapTypeId.ROADMAP
});
var marker1=新的google.maps.Marker({
地图:地图,
位置:map.getCenter()
});
markers.push(marker1);
var marker2=新的google.maps.Marker({
地图:地图,
职位:{
拉脱维亚:37.4529598,
液化天然气:-122.1817252
}
})
markers.push(marker2);
}
google.maps.event.addDomListener(窗口“加载”,初始化);
函数setMapOnAll(映射){
对于(var i=0;i
html,
身体
#地图画布{
身高:100%;
宽度:100%;
边际:0px;
填充:0px
}

您最可能的问题是全局范围(或至少您正在执行
setmaponal
的范围)中的
map
的值为空,而不是对要在其上显示标记的映射的引用。请提供一份说明您的问题的报告。