2014-10-10 146 views
0

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

那我的造型代码:

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

对不起,我不能包括正常图像呢。我应该补充说,这不是访问图标图像文件的问题,我无法让图层使用任何图像,即使是从互联网链接。

+0

也许你可以提供您的问题的工作的jsfiddle? – 2014-10-14 18:59:33

回答

1

上层创建声明StyleMap设定为:

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

,并删除:

warstwa_ikon.StyleMap = StylWarstwyIkon; 
+0

我前段时间试过这个解决方案,但没有奏效。我在代码中还有其他一些问题,因为现在它解决了我的问题。非常感谢你 – Podtxt 2014-10-15 16:03:45