fusiontable查询的位置

时间:2012-04-10 04:29:39

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

有没有办法动态生成基于用户输入的条件。我有一个选项框,其中包含选项'>','<','equals','starts with','ends with'。在这种情况下应该生成where子句并执行查询。请帮助我。我需要例子。 因为我的表中有大约80列,所以我不能使用if else循环。

function querymap()


{
var querypass=document.getElementById('query-pass').value.replace(/'/g, "\\'");
 if(querypass=='hhSanitHouseType')
   {
     var operator=document.getElementById('operatorstring').value.replace(/'/g, "\\'");
     if(operator=='>')
        { 
          var textvalue=document.getElementById("text-value").value.replace(/'/g, "\\'");
          layer.setQuery("SELECT 'geometry',hhSanitHouseType FROM " + tableid + " WHERE 'hhSanitHouseType' > '" + textvalue + "'");


        }
     }
   else
   {
   alert("false");
   }
}

1 个答案:

答案 0 :(得分:0)

也许你可以check this example,尤其是函数generateWhere(columnName, low, high)

您不必为运营商使用if / else,只需检查有效输入(即运营商是'>','<','等于','以'开头'之一, '以'结尾')然后将其直接传递给您的查询,类似

 var operator = ...;
 var textvalue = ...;
 layer.setQuery("SELECT 'geometry',hhSanitHouseType FROM " + tableid + " WHERE 'hhSanitHouseType'" + operator + " '" + textvalue + "'");