这与从Google Fusion表格中获取数据有关。
当我第一次设置我的网站时,GF tableid是数字值,(var tableid = 123456;)我构建了一个这样的查询:
layer.setQuery("SELECT 'Latitude' FROM " + tableid + " WHERE 'Name' contains etc etc
现在tableid就像var tableid = '12DFty24';
,我无法转换setQuery来处理它。
我尝试在tableid周围添加额外的单引号,但这不起作用。反斜杠也没有。
我们将非常感激您的想法!
保
答案 0 :(得分:0)
您使用的旧语法无法使用加密ID,数字ID为deprecated。
您必须使用新语法更改代码;这是documentation
示例:
new google.maps.FusionTablesLayer({ query: {[FusionTablesQuery object]}});
答案 1 :(得分:0)
好的,这是我的(非工作)尝试:
function searchState()
{
var searchString = document.getElementById('searchStateString').value.replace("'", "\\'");
// layer.setQuery("SELECT 'Latitude' FROM " + tableid + " WHERE 'State' contains ignoring case '" + searchString + "'");
// }
var layer = new google.maps.FusionTablesLayer({
query: {
select: 'Latitude',
from: '11QclwxxxxxxxxxxxxxxxmfBdFP3c', (or I could use tableid)
where: 'State' contains ignoring case '" + searchString + "'";
},
});
layer.setMap(map);
}
答案 2 :(得分:0)
这是有效的......需要小心括号和逗号!
function searchAddress()
{
var searchString = document.getElementById('searchAddressString').value.replace("'", "\\'");
// layer.setQuery("SELECT 'Latitude' FROM " + tableid + " WHERE 'Address' contains ignoring case '" + searchString + "'");
var layer = new google.maps.FusionTablesLayer({
query: {
select: 'Latitude',
from: tableid,
where: 'Address' contains ignoring case '" + searchString + "'"
}
});
layer.setMap(map);
}