ST_INTERSECTS查询被忽略

时间:2013-12-03 13:20:11

标签: google-maps google-fusion-tables

我有一个LATLNG坐标列表和一个准备好名为'location'的位置列的表。我想只显示500米范围内的结果。

所以这是包含列表中某个项目的latlng的代码:

var layer = new google.maps.FusionTablesLayer({
query: {
  select: 'location',
  from: '1881TVJgnC7HbzM0ZCsBfg72MOlpini6F79a9Vko',
  where: 'ST_INTERSECTS(location, CIRCLE(LATLNG(51.728669, 5.254821), 500))'
}});
layer.setMap(map);

有没有人知道为什么'where'部分被忽略了?

1 个答案:

答案 0 :(得分:0)

问题是,在您的table 1881TVJgnC7HbzM0ZCsBfg72MOlpini6F79a9Vko中,没有名为location的列,只有latlon。在这些情况下,Google Fusion Tables会为这两个列创建一个组合列,其中lat可用作两者的占位符:

var layer = new google.maps.FusionTablesLayer({
    query: {
        select: 'lat',
        from: '1881TVJgnC7HbzM0ZCsBfg72MOlpini6F79a9Vko',
        where: 'ST_INTERSECTS(lat, CIRCLE(LATLNG(51.728669, 5.254821), 500))'
    }
});
layer.setMap(map);

我创建了running example on jsFiddle。在那里,您可以使用滑块进行游戏并更改半径,以查看结果如何变化。