与使用Fusion Tables SQL脚本的运算符一样

时间:2011-12-15 18:48:46

标签: jquery sql google-maps-api-3 google-fusion-tables

我有一张Google地图,可以从Fusion Tables中提取数据并进行显示。单击多边形时,地图会放大并显示该原始多边形内的更多多边形。这是使用两个单独的Fusion Tables和一些jquery来完成的。

我的问题是尝试仅显示原始多边形内的多边形,而不是整个集合中的多边形(例如,仅显示点击状态中的县,而不是美国的所有县)。使用代码xxyy存储子多边形,其中xx是原始多边形,yy是子多边形(因此1001将是第10个状态,并且是该状态中的第一个县)。

如何使用像“SQL”脚本这样的Fusion Tables,我只能拉出子多边形,并且代码的前两位数等于特定数字?这是我试过的:

map.setOptions({
  'query':
    {
    select: 'geometry', 
    from: ftnumber, 
    where: "'name' starts with " + stateCode
    }
});

name是具有4位数代码的列,stateCode是一个变量,其中包含存储在其中的状态的2位数代码。

我也尝试过:

map.setOptions({
   'query':
      {
      select: 'geometry', 
      from: ftnumber, 
      where: "'name' like " + stateCode + "__"
      }
});

第二个选项是可取的(如果可能的话),因为我可以使用该语法在需要时进一步向下钻取。

最终解决方案:

  • 列'name'设置为数字
  • 查询

    stateCodeHigh = stateCode + 100; map.setOptions({    “查询”:       {       选择:'几何',       来自:ftnumber,       其中:“name> =”+ stateCode +“AND name<”+ stateCodeHigh       } });

1 个答案:

答案 0 :(得分:0)

如果'name'列的类型为String。

,这两个查询都应该有效

选择编辑>检查列的类型修改列。单击左侧列中的“名称”列。如果列未键入文本,请使用类型下拉菜单将列设置为文本。