我一直在尝试使用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
数组,一切正常(我相信我所使用的数据格式正确),但由于我必须动态添加点数这不是一个选择。
有没有人有这两个功能的实例?
非常感谢。
答案 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
}
});