如何使用FusionTable API创建合并表

时间:2017-04-22 20:19:04

标签: google-maps-api-3 google-fusion-tables

Fusiontable API(https://developers.google.com/fusiontables/docs/v2/using#CreatingTables)允许您创建新的基础表。此处的描述(https://developers.google.com/fusiontables/docs/v2/reference/table/insert)表示您可以指定basetableIds,但使用“试用此API”我没有成功创建合并表。我有一个地图几何图表,我不想复制,但是想让用户为几何图形指定自己的颜色。

有没有人能够做到这一点?如果是这样,您如何指定要加入的列?

感谢。

2 个答案:

答案 0 :(得分:0)

基表是否具有位置类型列?如果“地图几何”列/列具有位置类型集,则您可能无法从现有tableId创建新基表,因为整个文档中都有关于使用API​​修改或更新两列列的警告位置。

所以我认为通过从基表id“创建”一个新表,其中列定义为位置,您也会创建新列,因此无法通过API执行此操作。

尝试将列类型更改为字符串,然后创建新表。如果是这种情况,请在完成后恢复到位置?

希望有所帮助。

Using the API Docs

enter image description here

答案 1 :(得分:0)

我最近遇到了这个问题,并认为我会发布我的解决方案。看来通过API创建合并表是通过使用sql查询端点创建视图来完成的。

From the Docs

  

要创建新的合并表,请在HTTP POST中使用以下语法   请求

CREATE VIEW <new_table_name> 
AS (SELECT  <column_spec> { <column_spec>}*
FROM <table_list>)

如果你在一个&#39;邮政编码上合并两个表格,那么你会生成这样的东西。列例如:

CREATE VIEW 'My New Table'
AS (
  SELECT  T1.'zipcode', T2.'state', T2.'area', T2.'latitude', T2.'longitude', T2.'geometry'
  FROM somefusiontableid AS T1
    LEFT OUTER JOIN someotherfusiontableid AS T2 ON T1.'zipcode' = T2.'zipcode' 
)

希望这可以帮助其他遇到此问题的人。