大量对象

时间:2015-07-06 08:52:25

标签: here-api

基于实例 https://developer.here.com/api-explorer/maps-js/clustering/custom-cluster-theme

从json文件加载了15000个对象。

默认情况下会创建群集2秒,并在地图上绘制。自定义群集主题创建一个long的群集并发送了许多请求:

http://savepic.su/5817768.png

我认为在大量数据中使用用户群是不可能的,这是真的吗?

1 个答案:

答案 0 :(得分:0)

一般来说,这应该是一个问题,除非有很多事件监听器被创建而没有被处理掉。你能分享一个你面临问题的例子吗?

我认为问题是由于在自定义主题中创建了很多H.map.Icon,你基本上只需要4个可以重复使用的图标。使用全局数组clusterMarkers创建类似下面的内容:

for (var i = 0; i < 4; i++) {   
            var diameter = 50;          
            switch( i ){
                   case 0 : 
                        diameter = 50;
                        break;  
                   case 1: 
                        diameter = 20;
                        break;
                     case 2: 
                        diameter = 12;
                        break;
                    case 3: 
                        diameter = 10;
                        break;
            };


            var clusterMarker = new H.map.Icon(
                    clusterSvg

                    , {
                    size: {w: diameter, h: diameter},
                    anchor: {x: diameter/2, y: diameter/2}
                    }
                  );
            clusterMarkers[i]=clusterMarker;
        }

然后在主题

 switch( weight ){
        case weight < 10: 
            i=3;
            break;
     case weight < 100: 
            i=2;
            break;
      case weight < 1000: 
            i=1;
            break;
      case weight < 10000: 
            i=0;
            break;  
     };

    var clusterMarker = new H.map.Marker(cluster.getPosition(), {
        min: cluster.getMinZoom(),
        max : cluster.getMaxZoom(),
        icon: clusterMarkers[i],
      });