css - Openlayers Feature.Vector 只使用默认样式

标签 css vector styles openlayers

我正在从标记更改为矢量图层,我无法让我的站点使用任何类型的非默认图标,无论我在 externalGraphic 样式属性中放置什么都不会对 map 产生影响。我只看到橙色圆圈。确切地说,无论我在 Openlayers.Style 中放置什么来设置我的点特征的样式,我都会得到图标的默认外观。 应该很容易,但是我试了好几天都没成功,所以才来这里求助。当 warstwa_ikon 是标记层时,一切都很好,但我需要额外的功能。

那是我的样式代码:

var StylIkony = new OpenLayers.Style({
    externalGraphic : '${symbol}',
    graphicWidth    : 15,
    graphicHeight   : 15,
    cursor          : 'pointer' 
});

var StylWarstwyIkon = new OpenLayers.StyleMap ({
    default: StylIkony,
    delete: StylIkony,
    select: StylIkony,
    temporary: StylIkony 
});

warstwa_ikon = new OpenLayers.Layer.Vector("Ikony Lokali",{ eventListeners: { "featureselected": WywolajRamke }});
warstwa_ikon.StyleMap = StylWarstwyIkon;
map.addLayer(warstwa_ikon);

那是已经通过生成功能执行的代码:

WspolrzedneIkony = new OpenLayers.Geometry.Point(2279231, 7127620);
Ikona = new OpenLayers.Feature.Vector(WspolrzedneIkony, 
        { "symbol": "../GRAFIKI/IkonyLokali/10.png", "idLokalu": 1 });
warstwa_ikon.addFeatures([Ikona]);
WspolrzedneIkony = new OpenLayers.Geometry.Point(2279245, 7127630);
Ikona = newOpenLayers.Feature.Vector(WspolrzedneIkony,
        { "symbol": "../GRAFIKI/IkonyLokali/6.png", "idLokalu": 2 });
warstwa_ikon.addFeatures([Ikona]);

那是我的矢量图层 (warstwa_ikon) StyleMap 的 DOM:

http://s24.postimg.org/hwfjakg0l/stylemap.png

那是我的矢量图层第一个特征的 DOM,应该设置样式:

http://s9.postimg.org/oxlocyku7/feature.png

抱歉,我还不能添加普通图片。我应该补充一点,这不是访问图标图像文件的问题,我无法让图层使用任何类型的图像,即使是来自互联网链接。

最佳答案

在创建图层时将 StyleMap 声明为:

 warstwa_ikon = new OpenLayers.Layer.Vector("Ikony Lokali", {
     styleMap: StylWarstwyIkon,
     eventListeners: ...
 });

并删除:

 warstwa_ikon.StyleMap = StylWarstwyIkon;

关于css - Openlayers Feature.Vector 只使用默认样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26297530/

相关文章:

html - HTML 电子邮件中显示的图像轮廓

jquery - 菜单背景在滚动时改变颜色

c++ - 相对于另一个旋转 vector 旋转 vector

css - 列表 - 同一个列表中可以有两种样式吗?

Android:如何设置AlertDialog的宽高和AlertDialog样式的按钮?

javascript - 调整 div 宽度以适应换行后的文本

css - 媒体查询已停止工作

python - 生成 n 个二进制向量,其中每个向量与其他每个向量的汉明距离为 d

c++ - 定义生成元素 vector 的函数时正确的方法是什么 C++

android - 带有工具栏的菜单中的单选按钮样式不起作用