我在Fusion Tables地图中添加了一个滑块,用于生成查询: http://jsfiddle.net/nautilia/8zwGP/1/
slide: function (event, ui) {
document.getElementById("slider-value").innerHTML = "año " + ui.value;
var suma = "start > 1900 AND start <" + ui.value + " AND end >" + ui.value;
capa.setOptions({
query: {
select: "col8",
from: "1BV8lFXocqLor3Mack66ld82zSmUeHPyzKeCSK_w",
where: suma
}
});
}
这是一个城市电影院的列表。滑块查询表格以了解所选年份中哪些电影院已打开。
我想在地图旁边添加一个元素,告诉那一年有多少个电影院(点)是开放的(在地图中显示)。
我尝试了多次尝试失败,尝试将Fusion Tables API https://developers.google.com/fusiontables/docs/sample_code?hl=ca&csw=1#gviz和本教程http://michelleminkoff.com/2012/02/05/how-to-count-queried-rows-in-a-google-fusion-table/中的代码与我的代码混合。
我真的不知道如何使用现有代码获取ui.value(year)的查询输出(COUNT())。 而且我都不能把它作为一个条形或简单地显示出来。
我很困惑,无法实现正确的代码。任何帮助将不胜感激。
提前谢谢
答案 0 :(得分:1)
您需要通过另一个jsonp调用异步地根据您的slder查询(或您需要创建全局的var suma)获取计数。我刚才回答:https://stackoverflow.com/a/16217367/1211981无法通过滑块处理程序获取此值。您需要一个单独的函数FT API调用来获取计数并在事后设置它。
var count_qry = 'select count() from "1BV8..." where ' + suma;
请参阅此答案https://stackoverflow.com/a/9778985/1211981并查找getFTCount()函数。注意:此代码早于FT API 1.0,因此AJAX端点已更改。
添加代码:我的评论如下。改变这个:
var getCount = $.get(queryurl,
function (data) {
try {
.. .
要:
function getCount(){
$.get(queryurl,
. . .
}
然后在此行之后添加getCount()。
window.suma = "start > 1900 AND start <" + ui.value + " AND end >" + ui.value;
getCount();