据https://developers.google.com/fusiontables/docs/developers_reference或操作没有被允许作为过滤条件的一部分。 所以我想拿出解决以下一种创造性的方式:
我有一个融合表支持谷歌地图与数以百计的地方,并希望将它进行过滤,只具有“标签”或包含搜索参数“标题”的地方。
理想情况下我可以只使用以下内容作为我的筛选条件:
tags CONTAINS IGNORING CASE 'searchterm' OR title CONTAINS IGNORING CASE 'searchterm'
但融合表API根本不允许这样做。 那么该怎么办? 让2个独立的查询,然后过滤掉重复的? 这意味着我不能用好的FusionTablesLayer会预渲染的片段的功能。
你会怎么做?
一个可能的答案是表内预渲染的数据。 本质上添加另一列是标签和标题的集合。 然后,我只需要查询一个“tags_or_titles”列。 当然,这意味着更多的数据时,我的数据导出到融合表并不会觉得那么漂亮和干净事先改写(munging)...
如何添加到您的表中的列被称为“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