【问题标题】:Fusion table query - show only markers from range融合表查询 - 仅显示范围内的标记
【发布时间】:2014-09-25 02:39:14
【问题描述】:

我的新地图、融合表层和 jquery 选项卡的组合有问题。问题是我只想显示来自 DONOR/col6 列的标记,例如奥地利,它向我显示所有记录。我试图在 FT ID 之后添加 where 查询,但它现在可以工作了

where: "col6 = 'Austria'"

这是查询 FT 的主要脚本

<SCRIPT type="text/javascript"> //Fisrt script to query Table and get data
var FT_TableID = 'FT_ID';// Fusion Table data ID
google.load('visualization', '1', {'packages':['corechart', 'table', 'geomap']});

function  createSidebar() { //This line is important, change Table ID and column names
  var queryText = encodeURIComponent("SELECT 'col6' FROM "+'FT_ID');
  var query = new google.visualization.Query('http://www.google.com/fusiontables/gvizdata?tq='  + queryText);

query.send(getData);//set the callback function

}

  google.setOnLoadCallback(createSidebar);// Set a callback to run when the Google Visualization API is loaded.
</SCRIPT>

这里是实时示例CLICK

【问题讨论】:

  • 您的example 中有一个javascript 错误,这一行var queryText = encodeURIComponent("SELECT 'col6' FROM "+'1fyV8b5Cqrdp_kN_2mnuORzXz0XTzocHkXLR9Yz0x''|sc:col9|sg:col6%20%3D%20'Austria'");(不匹配的单个“记号”)

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


【解决方案1】:

FusionTablesLayer 正在显示标记,而您使用的是“旧”的 FusionTablesLayer 语法,它不适用于加密的 id。

您对 FusionTablesLayer 构造函数的现有调用(旧):

layer = new google.maps.FusionTablesLayer(tableid, {
    suppressInfoWindows: true,
    map: map
});

working fiddle

如果您希望显示的标记基于查询,请使用带有 query 的 FusionTablesLayer 的新语法。

layer = new google.maps.FusionTablesLayer({
    suppressInfoWindows: true,
    query: {
        where: "'DONOR' = 'Austria'", // query
        from: tableid,                // encrypted table id
        select: 'DUTY STATION'        // location column
    },
    map: map
});

【讨论】:

  • 如果您能提供帮助,还有一件事,如何向此地图添加自定义标记以及如何对标记进行聚类。
  • 这是两个不同的附加问题,如果你看,它们甚至可能是重复的。
  • 您好,很抱歉 - 我如何将自定义标记添加到融合表层
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-06
  • 1970-01-01
  • 2021-02-27
  • 2021-04-24
  • 2021-10-13
  • 1970-01-01
相关资源
最近更新 更多