我想知道是否有人可以提供有关谷歌地图方法的一些见解。目前我正在使用谷歌地图api v3开发可视化。此可视化将绘制多边形;国家,州,邮政编码,城市等。以及地图3其他标记(气球,圆...)。此数据由基础报告动态驱动,该报告可以应用过滤器并可以钻取到多个级别。我遇到的最大问题是动态渲染多边形。使用Google Maps V3生成多边形所需的数据很大。它还需要在运行时进行大量处理。
我的想法是,因为我的可视化永远不会允许用户返回非常大的数据集(美国的所有邮政编码)。我可以使用动态创建的融合表。
让我们说每次运行我的报告将返回50个州或50个邮政编码。用户可以从州> zip。
进行钻取第一批可视化用户将运行报告广告,它将返回州名称和4个指标。是否可以根据此信息动态创建融合表?我是否能够为地图上绘制的所有不同标记传递4个指标和格式?
第二次运行用户将从状态钻取到邮政编码。然后,该报告将返回50个邮政编码和4个指标。是否可以删除初始表并创建另一个表来映射具有与上述相同要求的地图?提供融合表邮政编码(22054,55678 ....)和4个度量值和格式。
很抱歉长篇大论。即使在阅读了融合表文档后,我也不是100%肯定的。
答案 0 :(得分:1)
如果您可以上传完整数据集并让Google进行深入分析,则可以查看Google Maps Engine平台。它是为处理大量地理空间数据而构建的,因此您无需进行繁重的工作。
产品页面位于:http://www.google.com/intl/en/enterprise/mapsearth/products/mapsengine.html
API doco:https://developers.google.com/maps-engine/
有关使用常规Maps API将数据挂钩的详细信息:https://developers.google.com/maps/documentation/javascript/mapsenginelayers
但是,既然你想动态地这样做,那就有点棘手了。目前,Fusion Tables API和Maps Engine API 都不支持通过API创建表格,因此您最好的选择是在一致的架构中建模数据,以便创建你的桌子(在任何一个平台上)提前并使用API上传&按需删除数据。
例如,您可以提前在MapsEngine中为每个向下钻取级别创建一个表格(例如,一个用于州,一个用于邮政编码)&使用batchInsert方法在运行时添加数据。
如果您更喜欢Fusion Tables,可以使用insert或importRows。
上述解决方案相当复杂。使用Maps v3 API绘图功能(例如simple polygons)生成形状可能会更好。
如果您的数据映射非常复杂,您可能会发现使用D3.js将数据绑定到Google地图更容易。有一个很好的例子here。不幸的是,这确实意味着调查另一个API。