Fusion Tables过滤条件OR

时间:2012-05-03 20:17:33

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

根据https://developers.google.com/fusiontables/docs/developers_reference OR操作不允许作为过滤条件的一部分。所以我试图想出一个创造性的方法来解决以下问题:

我有一个融合表支持谷歌地图与数百个地方,并希望将其过滤到只有'标签'或者标题'包含搜索参数。

理想情况下,我可以使用以下作为我的过滤条件:

tags CONTAINS IGNORING CASE 'searchterm' OR title CONTAINS IGNORING CASE 'searchterm'

但是融合表API根本不允许它。那么该怎么办?制作2个单独的查询,然后过滤掉重复的内容?这意味着我无法使用漂亮的FusionTablesLayer预渲染磁贴功能。

你会做什么?

2 个答案:

答案 0 :(得分:3)

可能的答案是预先渲染表格中的数据。基本上添加另一列,它是标签和标题的集合。然后我只需要查询一个'tags_or_titles'列。当然,当我将数据导出到融合表中并且感觉不那么干净时,这意味着需要事先处理更多的数据......

答案 1 :(得分:2)

如何向表中添加名为“Show_In_Results”的列,

然后运行两个单独的查询,根据是否在特定列中找到搜索词,为每行数据更新该列。

UPDATE 'table_id'
SET Show_In_Results = 1

UPDATE 'table_id'
SET Show_In_Results = 1
WHERE tags CONTAINS IGNORING CASE 'searchterm' 

UPDATE 'table_id'
SET Show_In_Results = 1
WHERE title CONTAINS IGNORING CASE 'searchterm' and Show_In_Results <> 1

然后在渲染地图图层时:

SELECT 'columns' FROM 'table_id' WHERE Show_In_Results = 1