【问题标题】:Like operator with Fusion Tables SQL scriptLike 运算符与 Fusion Tables SQL 脚本
【发布时间】:2012-01-21 10:38:36
【问题描述】:

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

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

如何使用 Fusion Tables “like SQL”脚本,仅提取代码前两位数字等于特定数字的子多边形?这是我尝试过的:

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 + "__"
      }
});

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

最终解决方案:

  • 列“名称”设置为数字
  • 查询是

    stateCodeHigh = stateCode + 100; map.setOptions({ '询问': { 选择:'几何', 来自:ftnumber, 其中:“名称 >=” + stateCode + “ AND 名称

【问题讨论】:

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


    【解决方案1】:

    如果 'name' 列是字符串类型,那么这两个查询都应该有效。

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

    【讨论】:

    • 好的,这是我的问题的第 1 部分。我把它作为一个数字列(并且仍然需要它)。所以我改用两个数字比较运算符。 where: "'name' >= " + variable1 + "AND 'name' < " + variable2 其中 variable1 是低数字,variable2 是高数字。这似乎不起作用。与 AND 运算符有关吗?
    • 想通了。请注意,引号和 AND 运算符之间没有空格。所以 comp 渲染它 variable1AND ,它不理解但它没有吐出错误。感谢您的帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-02-06
    • 2022-10-01
    • 1970-01-01
    • 2017-08-22
    • 1970-01-01
    • 2021-12-24
    • 1970-01-01
    相关资源
    最近更新 更多