0

我有一个代码可以通过 php 在 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 着色,如本文所述:“我可以仅使用 CSS 为引导图标添加颜色吗? ”。

这种替代方法有希望吗?

4

1 回答 1

1

如果您继续使用矢量特征和样式,您可以这样做。"externalGraphic""graphicWidth"和一起使用"graphicHeight"

请参阅以下位置提供的选项:

http://dev.openlayers.org/releases/OpenLayers-2.12/doc/apidocs/files/OpenLayers/Feature/Vector-js.html#OpenLayers.Feature.Vector.OpenLayers.Feature.Vector

于 2013-03-19T17:32:56.520 回答