动态彩色图标我有一个动态通过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