Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在OpenLayers中为鼠标悬停和选择设置不同的格式?_Javascript_Styles_Hover_Openlayers_Mouseover - Fatal编程技术网

Javascript 在OpenLayers中为鼠标悬停和选择设置不同的格式?

Javascript 在OpenLayers中为鼠标悬停和选择设置不同的格式?,javascript,styles,hover,openlayers,mouseover,Javascript,Styles,Hover,Openlayers,Mouseover,我在开放层中有一个向量层 选择后,它将使用所选的格式化意图,并会弹出一个弹出窗口。我希望鼠标移动到图层上时显示选定的格式,并且仅在单击功能时显示弹出窗口 我已经尝试将{hover:true}添加到SelectFeature控件中,但这会使在地图上移动鼠标时弹出窗口 我还尝试添加了第二个功能控件,弹出窗口不会听,但样式图也不会识别 是否有其他方法可以使用未选择功能的不同悬停样式?一次只能有一个SelectFeature控件处于活动状态,除非第二个控件的属性为highlightOnly=true。从

我在开放层中有一个向量层

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

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

我还尝试添加了第二个功能控件,弹出窗口不会听,但样式图也不会识别


是否有其他方法可以使用未选择功能的不同悬停样式?

一次只能有一个SelectFeature控件处于活动状态,除非第二个控件的属性为highlightOnly=true。从OpenLayers文档:

{Boolean}- 如果为true,则不实际选择要将其放置在图层的选定要素阵列中的要素,只需高亮显示它们

尝试添加第二个仅更改样式的SelectFeature控件。应该是这样的:

var hover_feature_control = new OpenLayers.Control.SelectFeature(
    [your_layer],
    {
        hover: true,
        highlightOnly: true,
        renderIntent: "temporary"
    }
);
RenderEnt属性应与您希望在样式映射中悬停的样式的名称相匹配

    styleMap: new OpenLayers.StyleMap({
        'default': default_marker_style,
        'temporary': hover_marker_style
    })
确保从管理弹出窗口的控件中删除{hover:true}