2014-10-10 148 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