Google maps api 3 将google maps api应用程序从融合表迁移到数据存储+;数据层

Google maps api 3 将google maps api应用程序从融合表迁移到数据存储+;数据层,google-maps-api-3,google-cloud-datastore,google-fusion-tables,google-datalayer,Google Maps Api 3,Google Cloud Datastore,Google Fusion Tables,Google Datalayer,我正在计划从fusion表迁移。我当前的实现(在gae上)有一个包含数百个位置的融合表,并通过google maps api将其显示在融合表层上。位置过滤是通过在客户端上用javascript修改fusion tables查询来完成的 我的计划是迁移到google app engine数据存储库,并结合google地图数据层。但是当用户浏览地图(缩放、平移)或应用过滤器时,我完全不知道如何实现数据的检索和显示,因为这都是由Fusion tables层负责的 我是否应该查询仅在当前地图视图上可见的

我正在计划从fusion表迁移。我当前的实现(在gae上)有一个包含数百个位置的融合表,并通过google maps api将其显示在融合表层上。位置过滤是通过在客户端上用javascript修改fusion tables查询来完成的

我的计划是迁移到google app engine数据存储库,并结合google地图数据层。但是当用户浏览地图(缩放、平移)或应用过滤器时,我完全不知道如何实现数据的检索和显示,因为这都是由Fusion tables层负责的

我是否应该查询仅在当前地图视图上可见的数据,并在用户转到其他视图时再次查询?(在平移地图时,将有大量查询)。或者我应该查询所有数据,即使它不在视图中?(在实现上看起来不那么麻烦,但在数据集增长时不可扩展)

过滤怎么样。当用户应用过滤器时,我应该再次查询数据,还是最好在客户端实现过滤器并通过地图样式隐藏地图上的项目

使用geojson格式将数据从服务器传输到客户端,这样就可以在不进行进一步处理的情况下填充数据层,这有意义吗

如果用户一直缩小,会发生什么?然后,我必须将完整的数据集传输到客户端,然后从客户端返回到google maps api进行渲染吗?这似乎也不可扩展

有了fusion tables,所有这些都被处理好了……现在有这么多的选择要做!?对于这种用例应该有一些通用的方法,不是吗

这是我的应用程序的屏幕截图,显示所涉及的数据量(可以增长!)


我也有类似的事情发生。对我来说,在http请求超时之前,只需一次数据存储查询&获取数百条记录的上限。因此,这无法很好地处理“缩小”场景

另一件需要注意的事情是,数据存储将无法对纬度和经度进行不平等过滤。

目前,我将整个~10k点列表作为json文件发布到google云存储中,然后我的端点服务于该缓存文件,而不是实际执行抓取。

在客户端,我只是将整个内容输入到google maps sdk中。如果启用标记聚类之类的功能,映射的性能会很好。

缓存整个数据集对我来说很困难,因为用户可以添加或修改数据,这将使整个缓存失效。但我现在考虑使用geohash位置属性。然后我可以进行平铺,将查询拆分到一个避免超时的级别,并可能缓存单个平铺。待续。。。。