1

我在开放层中有一个矢量图层。http://www.geos.ed.ac.uk/~s0825955/cgi-bin/maps6.pl

选择后,它会使用选定的格式意图并弹出一个弹出窗口。我希望在鼠标移到图层上时显示所选格式,并且仅在单击该功能时才显示弹出窗口。

我已尝试添加{hover: true}SelectFeature控件,但这会使您在地图上移动鼠标时出现弹出窗口。

我还尝试添加第二个弹出窗口不听的功能控件,但样式映射也无法识别。

有什么方法可以让我有不同的悬停风格,但没有选择该功能?

4

1 回答 1

0

一次只能激活一个 SelectFeature 控件,除非第二个控件具有 属性highlightOnly = true。来自 OpenLayers 文档:

highlightOnly {Boolean} - 如果为 true,则实际上不选择特征(即将它们放在图层的选定特征数组中),只需突出显示它们。

尝试添加仅更改样式的第二个 SelectFeature 控件。它应该如下所示:

var hover_feature_control = new OpenLayers.Control.SelectFeature(
    [your_layer],
    {
        hover: true,
        highlightOnly: true,
        renderIntent: "temporary"
    }
);

renderIntent 属性应该与您希望悬停在样式映射中的样式名称相匹配。

    styleMap: new OpenLayers.StyleMap({
        'default': default_marker_style,
        'temporary': hover_marker_style
    })

{hover: true}确保从管理弹出窗口的控件中删除!

于 2013-07-15T18:54:41.537 回答