首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >融合表图层热图

融合表图层热图
EN

Stack Overflow用户
提问于 2013-04-24 15:24:44
回答 1查看 440关注 0票数 0

我有一个融合表层,我启用了热图,如下所示,它在我的图层中工作得很好。

代码语言:javascript
复制
 layer = new google.maps.FusionTablesLayer({
      query: {
        select: 'Lat', 
        from: FT_TableID
      },
       map: map,
    //  suppressInfoWindows: true
    heatmap: { enabled: true },
      options: {
        styleId: 2,
        templateId: 2
      }
    });

是否可以在特定缩放级别后禁用热图,例如13,以便在缩放级别= 13之后,我可以查看来自融合表的实际标记。

EN

回答 1

Stack Overflow用户

发布于 2013-04-24 18:32:28

是的,确实是这样!您只需为地图对象zoom_changed事件设置一个事件侦听器,并检查地图的缩放级别。然后使用layers setOptions()方法重新设置该层的热图启用属性。因此,将您的代码更改为:

代码语言:javascript
复制
layer = new google.maps.FusionTablesLayer({
    query: {
        select: 'Lat',
        from: FT_TableID
    },
    map: map,
    //  suppressInfoWindows: true
    heatmap: {
        enabled: true
    },
    options: {
        styleId: 2,
        templateId: 2
    }
});
var heatMapIsOn = true;
google.maps.event.addListener(map, 'zoom_changed', function () {
    var zoom = map.getZoom();
    //we could just reset the layers options at every zoom change, but that would be
    //a bit redundant, so we will only reset layers options at zoom level 13
    if (heatMapIsOn && zoom >= 13) {
        layer.setOptions({heatmap: {enabled:false}});
        heatMapIsOn = false;
    } else if (!heatMapIsOn && zoom < 13) {
        layer.setOptions({heatmap: {enabled:true}});
        heatMapIsOn = true;
    }
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16185871

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档