【问题标题】:display KML layers from check box selection - problems drawing layers in google maps从复选框选择中显示 KML 图层 - 在谷歌地图中绘制图层时出现问题
【发布时间】:2013-01-22 20:51:24
【问题描述】:

我正在尝试根据用户通过复选框的选择在谷歌地图上显示多个 KML 图层(全部存储在同一个 Fusion 表中)。地图和复选框已经出现,但 KML 图层没有出现(通常我会在地图窗口中收到平铺的“数据可能仍在加载”响应)。我的编码基于 google fusion table 示例(IN:pizza shop)。

我对 html 和 java 还是很陌生,所以即使我无法在我的脚本中找到任何错误,或者与其他“帮助”页面(如 this one)有任何明显差异,但这并不意味着没有t 在某处出错。

我为每种图层类型写了一堆:

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

【问题讨论】:

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


    【解决方案1】:

    有错别字:

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

    您的代码中缺少 t

    【讨论】:

      猜你喜欢
      • 2019-08-06
      • 2013-08-06
      • 1970-01-01
      • 2015-07-01
      • 2015-08-19
      • 1970-01-01
      • 2019-03-26
      • 2017-08-10
      • 2011-06-06
      相关资源
      最近更新 更多