将Fusion Table查询值加载到JS变量中?

时间:2014-01-19 20:09:05

标签: javascript google-fusion-tables

我试图在基本默认谷歌地图红色位置标记点上放置最终将是动态大小的部分不透明度填充圆圈。最初,表中的所有位置都已标记。 然后,此代码摘要可以正常过滤,并且一次只显示一个地名 - 从表填充的下拉列表中选择。如果我插入静态geo co-ords,我的最后一段代码将绘制一个圆圈。 但一直在摸索我的头,并徒劳地搜索语法/方法,以加载谷歌地图layer_0使用的相同查询响应参数,到我的变量circlePos。我确信,这是一个关键的障碍,让我可以继续完成其他任务。举起手来,我的编程一般都很生疏,但我发现了稀缺的在线示例的学习路径,利用快速变化的API版本......尴尬。因此,任何帮助表示赞赏。

function changeMap_0() {
  var whereClause;
  var searchString = document.getElementById('search-string_0').value.replace(/'/g, "\\'");
  if (searchString != '--Select--') {
      whereClause = "'PlaceName' CONTAINS IGNORING CASE '" + searchString + "'";}
      layer_0.setOptions({
      query: {
      select: "col2",   //e.g. 54.742461,-1.884263 
      from: "1Fmd93Cnqv7rhJEFHIixl6wa1x-LuAH24z1AJKtw",
      where: whereClause }
  });
      var circlePos = //syntax to load value from the above query?
      new google.maps.Circle({ 
      center: new google.maps.LatLng(circlePos),          
      radius: 24000,
      map:map
 }); }

1 个答案:

答案 0 :(得分:0)

FusionTablesLayer对象不会公开您需要的信息。你需要coordinates of the geocoded address column

您需要使用GViz (example)FusionTables API v1.0直接查询FusionTable以获取这些坐标。最简单的解决方案是将它们存储在您的表中。

上面的example使用Google Maps API地理编码器对地址进行地理编码,结果可能与FusionTablesLayer上显示的位置不同。

SO question containing the example