Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.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 谷歌地图标签和侦听器事件驱动的CSS_Javascript_Jquery_Css_Google Maps_Google Maps Api 3 - Fatal编程技术网

Javascript 谷歌地图标签和侦听器事件驱动的CSS

Javascript 谷歌地图标签和侦听器事件驱动的CSS,javascript,jquery,css,google-maps,google-maps-api-3,Javascript,Jquery,Css,Google Maps,Google Maps Api 3,我正在使用谷歌地图API v3以及 我正在标签中删除每个lat/lon对的时间戳,但我想隐藏它们,除非缩放超过15以防止拥挤 我的侦听器正在启动并向控制台报告缩放级别,但看不到CSS更改。如果我发布$('.gmapslables').css('display','none')从控制台中,标签立即隐藏 所以我猜maps事件函数上下文必须覆盖$,但我不清楚如何通过它 如何从侦听器事件内部设置样式 编辑-每次缩放更改时,标记库都会设置各种CSS,因此这里的答案可能是编辑库或查找库用于覆盖CSS的方法

我正在使用谷歌地图API v3以及

我正在标签中删除每个lat/lon对的时间戳,但我想隐藏它们,除非缩放超过15以防止拥挤

我的侦听器正在启动并向控制台报告缩放级别,但看不到CSS更改。如果我发布
$('.gmapslables').css('display','none')从控制台中,标签立即隐藏

所以我猜maps事件函数上下文必须覆盖
$
,但我不清楚如何通过它

如何从侦听器事件内部设置样式

编辑-每次缩放更改时,标记库都会设置各种CSS,因此这里的答案可能是编辑库或查找库用于覆盖CSS的方法

从my maps init()中:


库具有标记对象的
labelVisible
属性

制作它们时,我必须将它们存储到一个数组中,然后我可以对它们进行迭代并设置可见性等:

google.maps.event.addListener(map, 'zoom_changed', function() {
var zoomLevel = map.getZoom();
if(zoomLevel >= 15) {
    for (var i = 0; i < labelsArray.length; i++ ) {
        labelsArray[i].labelVisible = true;
      }
    console.log("Showing labels");  
} else {
    for (var i = 0; i < labelsArray.length; i++ ) {
        labelsArray[i].labelVisible = false;
      }
    console.log("Hiding labels");   
}
});
google.maps.event.addListener(映射'zoom_changed',函数(){
var zoomLevel=map.getZoom();
如果(缩放级别>=15){
对于(var i=0;i
GoogleMaps通过XMLHttp-request加载,也许您试图捕获这些事件并覆盖css?var xhr=new XMLHttpRequest();addEventListener(“加载”,函数(e){alert(“成功回调”);},false);最佳M
google.maps.event.addListener(map, 'zoom_changed', function() {
var zoomLevel = map.getZoom();
if(zoomLevel >= 15) {
    for (var i = 0; i < labelsArray.length; i++ ) {
        labelsArray[i].labelVisible = true;
      }
    console.log("Showing labels");  
} else {
    for (var i = 0; i < labelsArray.length; i++ ) {
        labelsArray[i].labelVisible = false;
      }
    console.log("Hiding labels");   
}
});