【发布时间】:2015-04-26 21:54:40
【问题描述】:
我正在使用 Google Maps API 根据用户输入从 Fusion Table 中提取数据。我尝试使用“LIKE”命令来创建更强大的搜索功能,但是除了简单的 where 查询(如 where x=y 或 x>y)之外的任何内容似乎都会从融合表中返回每个条目或根本没有条目。
main.js
function updateMap(layer, tableID) {
var input = document.getElementById('input').value;
var newLayer = new google.maps.FusionTablesLayer({
query: {
select: 'FULL_ADDRESS',
from: tableID,
where: "FULL_ADDRESS LIKE \'%" + input + "%\' "
}
});
console.log(newLayer);
layer.setMap(null);//deletes old layer
newLayer.setMap(map);//sets map to new layer
LAYER = newLayer;// sets global layer to new layer
}
index.html
<input id="input" class="controls floating-label" type="text" placeholder="Search by Address or Zip Code">
融合表条目
000000000000000000|泰勒路 , 伯明翰, AL, 36117| 0 |$0.00 $6,800.00 |$0.00 |$0.00 |$1,360.00
第二个字段是 FULL_ADDRESS
live site 我的目标是使用用户输入来尝试部分匹配地址,但是它无法正常工作。我有什么遗漏吗?
谢谢!
【问题讨论】:
-
您在文档中的何处看到
ILIKE?我只看到LIKE和MATCHES。 -
我做了一个假设,只是没有记录更新问题会“忽略案例”吗?。
-
如果没有列出,如果它不起作用,我不会感到惊讶。
LIKE和/或MATCHES有效吗? -
like 没用,但是matches 没用!!!!!!谢谢
-
Fusion Tables SQL 中没有 ILIKE。 LIKE 和 MATCHES 是同义词。请参阅 SQL 参考:developers.google.com/fusiontables/docs/v1/sql-reference#Select
标签: javascript sql google-maps google-maps-api-3 google-fusion-tables