当前视图的动态标记信息的外部列表

时间:2011-04-29 04:35:14

标签: openlayers

我正在试图弄清楚如何使用openlayers在单独的div中以列表的形式显示动态标记,但是我希望只显示在当前视图中看到的那些。这意味着无论何时移动地图,标记信息列表都会更改。有没有人有任何建议来实现这一目标?我还在学习openlayers,所以如果这个问题的答案显而易见,我会道歉。提前谢谢。

1 个答案:

答案 0 :(得分:0)

您可以注册地图的moveend事件,并使用onScreen()方法检查显示哪些功能。

var map = new Openlayer.Map( ... );
var layer = new OpenLayers.Layer.Vector( ... );

map.events.register('moveend', this, function() {
    var displayedFeatures = [];

    for (var i=0, len=layer.features.length; i<len; i++) {
        var feature = layer.features[i];
        if (feature.onScreen())
            displayedFeatures.push(feature);
    }

    //Do somthing with displayedFeatures

});