这里的addDataPoints地图不起作用

时间:2016-02-12 23:25:32

标签: javascript maps here-api

我一直在尝试使用addDataPoints()addDataPoint()方法动态地将数据点添加到 HERE地图(我仍然没有为什么你需要两种不同的方法......)。

当我尝试使用它时,我收到此错误:

Error: this.tb.push is not a function
m.Jb@https://js.api.here.com/v3/3.0/mapsjs-core.js line 47 > eval:2:734
m.Fi@https://js.api.here.com/v3/3.0/mapsjs-core.js line 47 > eval:24:52
W.prototype.Fi@https://js.api.here.com/v3/3.0/mapsjs-core.js line 47 > eval:27:209
self.populateCluster@http://localhost:3000/scripts/panel/controller.js:208:3

populateCluster()是调用addDataPoints()的函数,定义如下:

        clusterProvider = new H.clustering.Provider({});

        var poisFormattedAsDataPoint = poiManager.pois[category].map( function( poi ){

            var tmpPoi = new H.clustering.DataPoint( poi.position[0], poi.position[1], null, poi );
            return tmpPoi;

        });

        clusterProvider.addDataPoints( poisFormattedAsDataPoint );

        var clusteringLayer = new H.map.layer.ObjectLayer( clusterProvider );

        map.addLayer(clusteringLayer);

如果我在提供程序定义中添加相同的DataPoints数组,一切正常(我相信我所使用的数据格式正确),但由于我必须动态添加点数这不是一个选择。

有没有人有这两个功能的实例?

非常感谢。

2 个答案:

答案 0 :(得分:1)

我发现了错误。 我正在使用空对象初始化Provider,并且应该使用空数组进行初始化。所以

clusterProvider = new H.clustering.Provider([]);

应该是

SELECT COUNT(items > 0) as totalItems FROM testTable Incorrect syntax near '>'.

问题是,是否允许使用错误的数据集初始化提供程序?还是应该返回错误?

答案 1 :(得分:0)

在我的情况下,如果没有clusteringOptions,它不允许我初始化集群提供程序,但是当我提供clusteringOptions时:

clusterProvider = new H.clustering.Provider([], {
      clusteringOptions: {
        eps: 32,
        minWeight: 2
      }
    });