FusionTablesLayer where 子句不过滤数据

问题描述 投票:0回答:1

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

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

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

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

google-maps google-fusion-tables
1个回答
1
投票

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

geometry
)。

概念证明小提琴

代码片段:

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>

© www.soinside.com 2019 - 2024. All rights reserved.