在过去的几年中,我一直在旅行,我想在地图上查看我已经访问过的国家。 有一个要求:我希望突出显示我访问过的国家/地区的整个区域。 有两种解决方案:
- 弹性堆栈
-
数据可以存储在ElasticSearch中,并且Kibana仪表板有一个世界地图可视化。 这可行,但是:
- 可视化文件可以处理地理位置,但不会突出显示整个国家
- 它需要一些设置,而且我是开发人员-请阅读,我很懒。
- 专用应用
老实说,我没有搜索,但我假设“ 有一个针对该应用程序 ”。 但是通过使用专用的应用程序,您不再是您自己数据的所有者,这不适合我。
- 谷歌地图
Google Maps允许添加图层和专用数据。 如果可以轻松突出显示国家,那么此解决方案将是一个很好的选择。 而且,仍然需要编写许多JavaScript。
| Fusion Tables是Google提供的一项实验性服务。 |
创建表
尽管可以将数据直接输入到Fusion Tables中,但在简单的Google Spreadsheet中更容易做到这一点。 以下是示例数据:
| 日期 | 国家 | 地点 | 类型 | 事件 |
|---|---|---|---|---|
2017/06 |
丹麦 |
哥本哈根 |
会议 |
JDK.io |
2017/06 |
瑞典 |
马尔默 |
会议 |
JKD.io |
2017/05 |
乌克兰 |
基辅 |
会议 |
杰Conf |
2017/05 |
希腊 |
雅典 |
会议 |
沃克斯天 |
这样的电子表格可以轻松导入Fusion Tables。
- 在Google云端硬盘上连接Fusion Tables。 在云端硬盘的主页上,进入“ 我的云端硬盘” 更多 连接更多应用程序 。 搜索“融合”。 单击连接 。
- 创建一个新的Fusion Tables文档。 在云端硬盘的首页上,点击“ 新建” 更多 Google Fusion Tables 。 然后选择Google Spreadsheet 。
- 选择所需的电子表格,然后单击“ 选择” 。
- 相应地命名表,然后单击Finish 。 它产生类似于以下内容:
开箱即用的是“国家/地区地图”标签,可在世界地图上显示每个数据行。 不幸的是,这是一个位于国家中心的简单点。 它不能满足突出显示整个国家/地区的初始要求。
将“ 位置”字段更改为“放置”而不是“国家/地区”会将点放置在正确的位置而不是国家/地区中心,但仍不会突出显示。
合并多个Fusion Table
Fusion Table支持可使用“ 锁Kong标记语言”格式定义的几何。 这样可以满足突出显示的要求。 但是,这将意味着定义手动访问的每个国家/地区的几何形状; 这需要我不准备做的努力。 幸运的是,可以“联接”多个表-这称为merging 。 合并将创建一个新表,其中包含两个表。 更好的是,如果任何初始表数据发生更改,它都会反映在合并表中。
好消息:这里有一个可公开访问的表格,用于定义所有国家/地区的地理位置。 让我们在文件中合并现有表 合并 。 在或在此处粘贴网址字段中,粘贴上述世界国家/地区的网址。 单击下一步 。 打开弹出窗口需要定义表的“联接”列。
单击下一步 。 在打开的弹出窗口中,选中将成为合并表一部分的列的复选框。 单击合并 。 等待合并发生。 单击查看表 。
现在,在“世界地图”选项卡上,将“ 位置”字段更改为“几何”会产生预期的结果。
至此,该要求已满足。 进一步的改进将是通过其REST API访问数据。
结论
Fusion Tables是一项不繁琐的,仅需填充的云服务,可轻松以各种方式显示数据。 由于具有连接其他表的能力,因此可以轻松地重用现有的表格数据。