加载外部数据到谷歌地图和建立热图
Load external data to google maps and build heatmap
在我的数据库中,我有一套邮政编码和特定邮政编码的订单数量
zip | count
--------------
12-456 | 23
12-100 | 120
12-220 | 93
10-300 | 2
我需要一种方法来显示数据的热图使用GoogleMaps。我在https://developers.google.com/maps/documentation/javascript/examples/layer-heatmap找到了一个基本的例子这是一个很好的开始,但它需要我把所有的点添加到我的页面。
是否有一个选项显示页面,然后做请求服务器得到所有的点?我知道,我可以使ajax请求服务器,得到json作为结果,然后在循环中添加这些点到taxiData
(代码从例子),但也许这可以做得更容易?在波兰有近23,000个邮政编码,所以我可以从服务器上获得非常大的数据集。
是否可以将数据加载为latitude, longitude, count
?我可以将邮政编码转换为位置(GPS坐标),但我想发送该位置的订单数量。
如何显示特定区域的热图?如本例:http://maps.forum.nu/v3/gm_customTiles.html热图仅显示美国。
任何关于如何开始的想法(链接,示例)都是很大的帮助。
第一个问题:只是一个想法,你可以抽样邮政编码,让用户选择细节。如果他想要更多的细节,就得多花点时间来加载。在低地图缩放中,你不需要那么多的点。如果用户想要在更高的地图缩放中获得更多细节,你可以获取更多。但不要低估ajax,我有一个网站页面加载了大约9000个数据库条目,它在大约3秒内准备好了,也许更少。只是不要阻塞页面,不要忘记使用加载器:)
第二个问题:在SQL中可以使用
SELECT latitude, longitude, COUNT(*) count FROM Table GROUP BY latitude, longitude
这将为您提供唯一的经纬度对及其计数。如果你愿意,你可以玩小数点或多或少的精度。
第三个问题:那个地图使用了MCustomTileLayer。您可以在这里查看并下载源代码http://code.google.com/p/biodiversity-imageserver/source/browse/trunk/unittest/gmap3/MCustomTileLayer.js?r=49
该网站的例子:
var hMap = new MCustomTileLayer(map,theme);
var oDiv = document.getElementById('controlsDiv');
var tlcOptions = {
parent: oDiv,
overlay: hMap,
caption: theme.toUpperCase()
}
var tlc = new MTileLayerControl(tlcOptions);
老实说,我更喜欢标准的谷歌API,它更简单,更漂亮。他们只是产生一个图像,并把它放在地图上。您可以使用热图半径来填充您想要的区域。
希望有帮助
- 谷歌地图固定位置覆盖
- 不显示带有本地json文件数据的谷歌地图脚本
- 谷歌地图不是以HTML显示,而是在JS Fiddle上工作
- 谷歌地图标记不会显示
- 无法在JS中显示谷歌地图
- 科尔多瓦页面类应用程序中的多个谷歌地图
- 需要帮助谷歌地图方向面板在FancyBox中显示
- 在谷歌地图上获取事件的x,y坐标
- 谷歌地图API v3不适用于移动浏览器或PhoneGap
- 模拟谷歌地图中的点击
- 如何知道哪个标记被谷歌地图点击了
- 谷歌地图JS API+JSON-多个标记没有显示
- 缓存谷歌地图数据
- 谷歌地图劫持了iphone's滚动(触摸事件)-如何恢复
- 在谷歌地图上绘制位置数据库
- 标记的实时更新,无需加载页面谷歌地图API V3
- 可以't计算自定义谷歌地图的js
- 谷歌地图可以't添加正确的标记ID
- 如何更改角度谷歌地图上的集群图标
- 加载外部数据到谷歌地图和建立热图