我正在从标记更改为矢量图层,我无法让我的站点使用任何类型的非默认图标,无论我在 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/