1
sun019 2014-08-13 10:12:57 +08:00
没那么密吧 ,你看参考搜房的做法,太多的时候就显示这个区(县)的总个数,满屏几千个点,是人都没点击的欲望啊。
|
2
shangjiyu OP @sun019 现在项目里碰到的的模拟设备都集中在一个地方。。。然后搜索显示的时候一下全部集中在一个点上了,,1000+的marker 浏览器卡10多秒样子。。 我倒是看到google map的那个markersClustererPlus.js 聚合1000个才几百个毫秒。
嗯, 我去看看搜房 |
3
learnshare 2014-08-13 10:23:09 +08:00
根据缩放等级筛选显示的点吧,一次全部显示不仅卡,而且难看。
Google 的 Map Engine 应该是 Canvas 的,只会增大一点点内存。不像百度这样,对 DOM 的改动过多。 |
4
hvsy 2014-08-13 10:26:08 +08:00
@shangjiyu 百度地图也有 markersCluster 工具.
http://developer.baidu.com/map/library.htm 在这里可以找到.但是这个是聚合起来的..之前开发类似产品的时候,客户要求都要用点.显示出来 只能用 baidu 地图的麻点图.. |
6
catcn 2014-08-13 13:43:54 +08:00
google的fusion table。
绘制贴图 |
7
hvsy 2014-08-13 14:09:56 +08:00
@shangjiyu 自己模拟麻点图.在服务器端绘制图片.然后贴到 baidu 地图上面.
http://developer.baidu.com/map/reference/index.php?title=Class:总类/地图图层类 用这个图层类来显示你在服务器端渲染的图片 http://www.cnblogs.com/jz1108/tag/地图API/ 这里有百度地图的各种坐标转换的文章. |
8
otakustay 2014-08-13 16:28:09 +08:00
如果不是IE6-8的话,几千个应该不是问题,以前用OpenLayers,因此有更高的自己定制性,有2种优化方式可以很好地提升性能,不知道百度地图是不是允许这么玩
1. 先创建一个层,不要加到DOM中,在上面放完1000个点,然后再把层加进地图里,使用这个方法当时在2000-3000个点的时候,IE6依旧“能操作”,并没有卡到无法接受,注意地图移动的时候改变的是这个层的left/top,不要每个点都去改 2. 让服务器生成一张图,直接在图上把点画完(就是一张有几千个点的透明图片),然后把这张图作为一个层图,使用<map>标签在图上面做标记控制点击 |