【问题标题】:FusionTablesLayer where clause not filtering dataFusionTablesLayer where 子句不过滤数据
【发布时间】:2015-10-05 19:51:38
【问题描述】:

我最近看了很多关于如何使用 FusionTablesLayer 在谷歌地图上显示区域的示例。我已经整理了一个融合表并为它创建了一个视图。可以在这里找到 (View of Data)。

但是,下面的 sn-p 代码似乎没有根据 where 子句过滤数据。

var provinces = new google.maps.FusionTablesLayer({
   map: $scope.map,
   query: {
     select: "*",
     from: "1NpDIypHO58j9k1BAOr1tniCgoOPUkdbKBsXgTVCS",
     where: "'PROVINCE' = '02'",
     limit: 100
   },
   suppressInfoWindows: true
});

这实际上仍然获取并显示所有四个省份,并且似乎忽略了 where 子句。

【问题讨论】:

    标签: api maps google-fusion-tables layer


    【解决方案1】:

    不要使用“*”进行选择,它应该是包含地理信息的列(在您的情况下为 geometry)。

    proof of concept fiddle

    代码 sn-p:

    function initialize() {
      var map = new google.maps.Map(mapDiv, {
        center: new google.maps.LatLng(52.669177995538305, -7.1375505556775405),
        zoom: 7,
        mapTypeId: google.maps.MapTypeId.ROADMAP
      });
    
      layer = new google.maps.FusionTablesLayer({
        map: map,
        heatmap: {
          enabled: false
        },
        query: {
          select: "geometry",
          from: "1NpDIypHO58j9k1BAOr1tniCgoOPUkdbKBsXgTVCS",
          where: "PROVINCE = '02'"
        },
        options: {
          styleId: 2,
          templateId: 2
        }
      });
    
    }
    google.maps.event.addDomListener(window, "load", initialize);
    html,
    body,
    #mapDiv {
      height: 100%;
      width: 100%;
      margin: 0px;
      padding: 0px
    }
    <script src="https://maps.googleapis.com/maps/api/js"></script>
    <div id="mapDiv"></div>

    【讨论】:

    • 完全正确。这就是我所缺少的。非常感谢。
    猜你喜欢
    • 1970-01-01
    • 2015-04-10
    • 1970-01-01
    • 1970-01-01
    • 2012-07-07
    • 2015-02-09
    • 2020-12-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多