我指的是Fusion Tables API示例“更新查询”https://developers.google.com/fusiontables/docs/samples/change_query 它是关于一个下拉菜单,它改变了地图上图层的内容。
我试图在我自己的网站上重建整个示例,但我还没有解决。我将可能的错误和陷阱缩小到图层(我的谷歌融合表中的数据)初始化的部分。 它看起来像谷歌的例子:
var layer = new google.maps.FusionTablesLayer({
query: {
select: locationColumn,
from: tableId
},
map: map
});
以下是我自己的每个示例中使用融合表的代码,除了上面显示的代码。
var layer = new google.maps.FusionTablesLayer(tableid)
layer.setMap(map);
以下是实时代码的链接:http://krealeo12.appspot.com/
由于我是这个整个API和JavaScript的新手,我无法分辨为什么第一个例子不起作用而第二个例子不起作用?!有什么区别,更重要的是,这是什么意思?
我非常感谢每一个提示和建议! 学家
答案 0 :(得分:2)
当我开始使用Fusion Tables时,这个问题也让我很困惑。您将找到许多使用弃用方法的示例:
var layer = new google.maps.FusionTablesLayer(tableid)
layer.setMap(map);
layers.setQuery("select * from " + tableid + " where ridership > 5000");
您引用的第一个示例是正确的方法。最令人困惑的是你无法将这两种方法结合起来。例如。上次我检查,以下将无法正常工作。初始地图显示正常,但查询无效。
var layer = FusionTablesLayer(tableid);
var layer.setOptions{
query: {
select: 'address',
from: '198945',
where: 'ridership > 5000'
}
});
中描述了正确的方法
答案 1 :(得分:0)
真的是另一个问题,所以我添加了一个新答案。您在updateMap()函数中遇到错误。
function updateMap(layer, tableid, locationColumn) {
var sportart = document.getElementById('search-string').value;
if (sportart) {
layer.setOptions({
query: {
select: locationColumn,
from: tableid,
where: "sportart = '" + search-string + "'" // ERROR
}
});
} else {
layer.setOptions({
query: {
select: locationColumn,
from: tableid
}
});
}
}
选择列表搜索值被称为" sportart"不是"搜索字符串"。
答案 2 :(得分:0)
Google不会提供来自查询的错误消息,因此您可能需要使用反复试验和搜索示例来获取结果。这对我有用。请注意整个字符串周围的引号(正如您所期望的那样),以及日期周围的引号。
layer.setOptions({
query:{
select: "col1",
from: "1Ayaf5aKAanSv6HAtsTLtcAhrnpF94XyuNZ9u_Sk",
where: "Date<'01/01/2011'"
},
styles:[{
markerOptions:{
iconName:'measle_gray'
}
}]
});
一个有用但难以找到的页面描述了可接受的日期格式,其中包括: https://developers.google.com/fusiontables/docs/v1/sql-reference 我不知道为什么许多小点的颜色被称为“measle_”而不是“small _”
答案 3 :(得分:0)
你可以使用它,
var fusionOptions = {
query: {
select: "Geometry",
from: "tableId",
where: ""
},
styles: [{
where: 'Available_Impressions < 605173',
polygonOptions: {
fillColor: '#88bad8',
fillOpacity: 0.8
}
}, {
where: 'Available_Impressions > 605173',
polygonOptions: {
fillColor: '#5792c3',
fillOpacity: 0.8
}
}, {
where: 'Available_Impressions > 1210347',
polygonOptions: {
fillColor: '#4572ab',
fillOpacity: 0.8
}
}]
}