Javascript 自定义虚拟地球群集

Javascript 自定义虚拟地球群集,javascript,virtual-earth,Javascript,Virtual Earth,我想使用这个虚拟地球javascript API实现我自己的集群算法: 但是,VE引擎为层中的每个形状调用一次my cluster函数。这使得它非常慢! 在我看来,VE应该将所有形状放在一个层中,然后让我的函数对它们进行聚类。不要重复呼叫集群 为什么VE引擎会这样做?使用此API进行客户端集群还有其他方法吗 更多信息:我正在从GeoRSS提要加载形状。它应该每个VEShapeLayer只调用您的代码一次-否则,集群是没有意义的,因为您无法对单个形状进行集群。是否使用VEMap.AddShape而

我想使用这个虚拟地球javascript API实现我自己的集群算法: 但是,VE引擎为层中的每个形状调用一次my cluster函数。这使得它非常慢! 在我看来,VE应该将所有形状放在一个层中,然后让我的函数对它们进行聚类。不要重复呼叫集群

为什么VE引擎会这样做?使用此API进行客户端集群还有其他方法吗


更多信息:我正在从GeoRSS提要加载形状。

它应该每个VEShapeLayer只调用您的代码一次-否则,集群是没有意义的,因为您无法对单个形状进行集群。是否使用VEMap.AddShape而不是将VEShape对象添加到VEShapeLayer?如果是这样,请尝试创建单个VEShapeLayer,将其添加到VEMap,然后将所有VEShape对象添加到形状层而不是地图。

对于该VEShapeLayer,自定义聚类算法方法将只调用一次

亚当·拜伦, 使用VEMap.AddShape方法和向包含所有形状的地图添加VEShapeLayer之间没有太大区别。AddShape方法将形状添加到“默认”ShapeLayer,即索引为0(零)的ShapeLayer,添加VEShapeLayer将在现有“默认”图层的基础上添加新图层

如果您使用VEMap.AddShape将VEShape对象添加到地图,则很可能每次将VEShape添加到地图时,它都会调用群集算法方法。这是正确的行为,因为每次添加形状时都需要重新计算聚类

在向地图添加所有形状时提高整体性能,并使VE在添加所有形状时只调用一次自定义算法方法;您可以创建一个VEShapeLayer,将所有形状添加到其中,然后将该形状层添加到地图中。这将导致VE只对所有形状进行一次渲染(在加载所有形状时),而不是每次添加单个VEShape时