迁移谷歌API的应用程序从融合表映射到数据存储区+数据层

问题描述 投票:0回答:1

我计划我的移民从Fusion Tables的路程。我的当前的实现(上GAE)具有数百个地点的融合表并将其显示经由谷歌地图API的融合表层上。位置滤波由modfiying JavaScript中的融合表查询的客户端上完成的。

我的计划是迁移到谷歌应用程序引擎的数据存储与谷歌地图数据层合并。但我完全摸不着头脑如何实现检索和数据的显示,还当用户浏览地图(缩放,平移)或应用过滤器,因为这是所有照顾由fustion表层。

我要查询的数据,仅可见在当前地图视图,并再次查询,当用户进入不同的看法? (平移地图时,这将是大量的查询)。或者我应该查询所有的数据,甚至是拿出来看? (貌似少的实施是件麻烦事,但不能扩展数据集时长)。

如何筛选。当用户应用过滤器,我应该查询数据再次,或者是更好地实现对客户端的过滤器,并通过地图样式隐藏在地图上的项目?

难道是有意义的使用GeoJSON格式导出到从服务器传送数据到客户端,因此它可以被用来填充不作进一步处理的数据层?

如果用户缩小所有的方式会发生什么?我必须那么完整的数据集传送到客户端,并从那里回到了谷歌地图API,用于呈现?这似乎没有可扩展要么?

随着融合的表,这是所有照顾...现在有这么多的选择,进行!?应该有某种共同的办法来这种使用情况下,不应该有?

这里是我的应用程序的截图,显示数据是涉及的金额(可长!)

enter image description here

google-maps-api-3 google-cloud-datastore google-fusion-tables google-datalayer
1个回答
1
投票

我也有类似的事情的东西。对我来说,一个单一的数据存储区查询和取上限出在几百记录的HTTP请求timesout之前。这样就不会处理您的“缩小”的情况非常好。

另外要注意的是,数据存储将无法做一个不等式过滤器上的经度和纬度。 https://cloud.google.com/appengine/docs/standard/python/datastore/query-restrictions#inequality_filters_are_limited_to_at_most_one_property

目前,发布我的整个列表〜10K点作为一个JSON文件到谷歌云存储,然后我的端点提供缓存的文件,而不是实际做取。 https://cloud.google.com/appengine/docs/standard/python/tools/webapp/blobstorehandlers#Using_with_GCS

在客户端,我只给整个事情到谷歌地图SDK。如果启用之类的标记集群的地图进行罚款。 https://developers.google.com/maps/documentation/javascript/reference/marker#MarkerOptions.optimized https://developers.google.com/maps/documentation/javascript/marker-clustering

© www.soinside.com 2019 - 2024. All rights reserved.