我的目标是根据Fusion Table的查询结果创建google.maps.FusionTablesLayer。我有一个公开的Google Fusion Table已被“启用下载”。我可以使用Google Fusion Tables REST API成功查询表格(我会提供一个指向API的链接,但没有足够的信誉)。以下查询适用于浏览器:使用FusionTablesLayerOptions的查询参数不起作用的Google Fusion Table查询
我真正想要的是能够使用查询结果创建Google Fusion Tables图层对象。看起来最简单的方法是在初始化Google Fusion Tables图层对象期间将上述查询作为参数提供(如JavaScript FusionTablesLayer API中所示)。然而,FusionTablesLayer会失败时初始化过程中查询如下露面:
northbound_hikers_start_layer = new google.maps.FusionTablesLayer({
query: {
select: 'start_lat',
from: '1JUAkUL5H7IhU4QrmLuVQ65Tg2SNyI5Xqm3A7Nk1g',
where: "dir = 'Northbound'"
},
heatmap: {
enabled: true
},
suppressInfoWindows: false
});
编辑:当我删除'where'子句(这导致我相信查询是问题)时知道地图正确显示可能会有帮助。我忘了提,我做分配层的地图如下:
$("button").click(function() {
console.log(this.id + " button was pressed.");
if (this.id == "toggle-at-centerline-button") {
//Toggle AT Centerline Layer
if (!toggle_at_centerline_button_pressed) {
centerline_layer.setMap(map);
toggle_at_centerline_button_pressed = true;
} else {
centerline_layer.setMap(null);
toggle_at_centerline_button_pressed = false;
}
} else if (this.id == "toggle-at-shelter-button") {
//Toggle AT Shelters Layer
if (!toggle_at_shelter_button_pressed) {
shelterLayer.setMap(map);
toggle_at_shelter_button_pressed = true;
} else {
shelterLayer.setMap(null);
toggle_at_shelter_button_pressed = false;
} etc...
});
对不起,我忘了提,我有地图属性当按下显示按钮在稍后设置。我上面的代码在我删除'where'子句时正常工作。它只有在存在没有任何东西出现的'where'子句的情况下。我将编辑原始问题以反映这些信息。 – campellcl
感谢您的“概念证明小提琴”,我发现了错误。查询正在工作(正如你的小提琴所显示的那样),我正在用'where:'dir ='Southbound'“''测试显示器。我的表格太大,所以数据不会作为查询可访问的100,000条记录的一部分返回。结果“北行”查询成功,“南行”查询看起来失败。我已将问题标记为已回答,因为您的小提琴显示了正在工作的查询的示例,导致我意识到自己的错误。我希望别人觉得这很有用。感谢您的工作示例! – campellcl
这就是为什么在问题中提供[mcve]很重要。 – geocodezip