此处地图上的 addDataPoints 不起作用
addDataPoints on here maps is not working
我一直在尝试使用 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);
如果我在 Provider 定义中添加相同的 DataPoints
数组,一切正常(我相信这证明我使用的数据格式正确),但由于我必须动态添加点这不是一个选择。
有人有这两个函数的工作示例吗?
非常感谢。
我发现了错误。
我正在用一个空对象初始化 Provider,并且应该用一个空数组进行初始化。所以
clusterProvider = new H.clustering.Provider({});
应该是
clusterProvider = new H.clustering.Provider([]);
问题是,是否应该允许使用错误的数据集初始化提供程序?还是应该 return 一个错误?
在我的例子中,它不允许我像没有 clusteringOptions 那样初始化集群提供程序,但是当我提供 clusteringOptions 时,它是有效的:
clusterProvider = new H.clustering.Provider([], {
clusteringOptions: {
eps: 32,
minWeight: 2
}
});
我一直在尝试使用 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);
如果我在 Provider 定义中添加相同的 DataPoints
数组,一切正常(我相信这证明我使用的数据格式正确),但由于我必须动态添加点这不是一个选择。
有人有这两个函数的工作示例吗?
非常感谢。
我发现了错误。 我正在用一个空对象初始化 Provider,并且应该用一个空数组进行初始化。所以
clusterProvider = new H.clustering.Provider({});
应该是
clusterProvider = new H.clustering.Provider([]);
问题是,是否应该允许使用错误的数据集初始化提供程序?还是应该 return 一个错误?
在我的例子中,它不允许我像没有 clusteringOptions 那样初始化集群提供程序,但是当我提供 clusteringOptions 时,它是有效的:
clusterProvider = new H.clustering.Provider([], {
clusteringOptions: {
eps: 32,
minWeight: 2
}
});