動態彩色圖標我有一個動態通過PHP創建上的OpenLayers動態標記代碼:標記爲的OpenLayers
$shapeStyle="\"$shapeName\":{\"graphicName\": \"triangle\",fillColor:\"$color\",pointRadius:$size,label:\"$label\",labelYOffset:7+$size}"
現在我想升級此方法做同樣的事情用圖標而不是,僅限於Openlayer提供的幾個選項:「圓形」,「方形」,「星形」,「x」,「十字形」和「三角形」。
我知道這可以用OpenLayers.Marker完成,但由於我將有N種顏色類型,所以對M圖標着色N次的操作對我來說似乎太昂貴了。而且也不太靈活。
我不知道我是否可以玩imageDiv(OpenLayers.Icon.imageDiv),所以我可以添加一些插入引導程序的Font Awesome圖標的html。此圖標可以通過css進行着色,如本文中所述:「Can I add color to bootstrap icons only using CSS?」。
這種替代方法有什麼希望嗎?
「我知道它可以與OpenLayers.Marker完成」。實際上,你不需要像@xamamano所說的那樣使用vectorGraphic和vectorGraphic。 – capdragon 2013-03-19 18:35:58
當我說我可以通過OpenLayers.Marker做到這一點時,我正在考慮讓每個png單獨着色,然後選擇它們作爲/red/myIcon.png或/blue/myIcon.png等: ' var icon = new OpenLayers.Icon('/ $ selectedColor/myIcon.png',size,offset); markers.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(0,0),icon));' 這將是我的「蠻力」方式... – 2013-03-19 19:56:29
我看起來沒問題。 gotcha – capdragon 2013-03-19 20:24:44