Openlayers 获取Openlayer矢量功能与群集
我使用openLayers Vector和集群策略。当我使用Vector.features获取作为列表返回的特征时,它返回一个集群数组,而不是特征数组。这使得功能无法单独处理。有人知道在使用集群策略时如何获取功能列表吗?感谢您的帮助。Openlayers 获取Openlayer矢量功能与群集,openlayers,Openlayers,我使用openLayers Vector和集群策略。当我使用Vector.features获取作为列表返回的特征时,它返回一个集群数组,而不是特征数组。这使得功能无法单独处理。有人知道在使用集群策略时如何获取功能列表吗?感谢您的帮助。 (例如,如果我的KML中有5个特征被聚集为1,那么我得到vector.features.length=1。我需要长度为5的原始特征列表) 下面是my Vector的实现: var maps_layer = new OpenLayers.Layer.Vector("
(例如,如果我的KML中有5个特征被聚集为1,那么我得到vector.features.length=1。我需要长度为5的原始特征列表) 下面是my Vector的实现:
var maps_layer = new OpenLayers.Layer.Vector("KML", {
strategies: [new OpenLayers.Strategy.Cluster()],
protocol: new OpenLayers.Protocol.HTTP({
url: "kml/maps.kml",
format: new OpenLayers.Format.KML({
extractStyles: true,
extractAttributes: true,
})
})
})
var my_array = maps_layer.features; //Here is the problem.
这里是文档:您*可以尝试一下,我现在还没有环境来测试它,但它应该可以工作。(注意:您*指的是搜索引擎用户.)
function-getFeatures(映射层){
var features=新数组();
对于(var i=0;i
function getFeatures(maps_layer) {
var features = new Array();
for (var i = 0; i < maps_layer.features.length; i++) {
if (maps_layer.features[i].cluster) {
for (var j = 0; j < maps_layer.features[i].cluster.length; j++)
features.push(maps_layer.features[i].cluster[j]);
} else {
features.push(maps_layer.features[i]);
}
}
}