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

display KML layers from check box selection - problems drawing layers in google maps

本文关键字:图层 问题 KML 绘制 选择 复选框 地图 Google 显示      更新时间:2023-09-26

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

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

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

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>

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

有一个

错别字:

    其中 = "'描述t离子' IN (" + filter.join(',') + ')';   //----------------^

代码中缺少 t