从复选框选择中显示KML图层 - 在Google地图中绘制图层的问题

时间:2013-01-22 20:51:24

标签: javascript google-maps google-fusion-tables

我试图在谷歌地图上显示多个KML图层(都存储在同一个Fusion表格中),这些图层是基于用户通过复选框选择的。地图和复选框已经出现,但KML图层没有出现(通常我在地图窗口中得到平铺的“数据可能仍在加载”响应)。我的编码基于谷歌融合表示例(IN:披萨店)。

我对html& java,所以即使我在脚本中找不到任何错误,或者与this one等其他“帮助”页面的任何明显差异并不意味着某处没有错误。

我为每种图层类型写了很多这些:

google.maps.event.addDomListener(document.getElementBId('trail'),
        'click', function() {
            filterMap(layer, tableId, map);
    });

然后尝试将地图过滤掉:

        function filterMap(layer, tableId, map) {
        var where = generateWhere();

        if (where) {
            if (!layer.getMap() ) {
                layer.setMap(map);
            }
            layer.setOptions({
                query: {
                    select: 'geometry',
                    from: tableId,
                    where: where
                }
            });
        } else {
            layer.setMap(null);
        }
    }

    function generateWhere() {
        var filter = [];
        var stores = document.getElementsByName('store');
        for (var i = 0, store; store = stores[i]; i++) {
            if (store.checked) {
                var storeName = store.value.replace(/'/g, '\\\'');
                filter.push("'" + storeName + "'");
            }
        }
        var where = '';
        if (filter.length) {
            where =  "'descripion' IN (" + filter.join(',') + ')';
        }
        return where;
    }

    google.maps.event.addDomListener(window, 'load', initialize);

然后这些人在div身上:

<input type="checkbox" checked="checked" name="store"
            id="trail" value="trail">
        <label>trail</label>
        <input type="checkbox" checked="checked" name="store"
            id="Historic" value="Historic">
        <label>Historic</label>
        <input type="checkbox" checked="checked" name="store"
            id="Energy" value="Energy">
        <label>Energy</label>
        <input type="checkbox" checked="checked" name="store"
            id="Hunting/Fishing" value="Hunting/Fishing">
        <label>Hunting/Fishing</label>

我的Fusion表格是:https://www.google.com/fusiontables/DataSource?docid=1J8YjRYnWprhLdL0YMP6lxxb_encjkowSlqi1G3Y#rows:id=1

1 个答案:

答案 0 :(得分:0)

有一个拼写错误:

    where =  "'description' IN (" + filter.join(',') + ')';
    //----------------^

代码中缺少 t