0

PHPを介して動的にOpenlayersに動的マーカーを作成するコードがあります:

$shapeStyle="\"$shapeName\":{\"graphicName\": \"triangle\",fillColor:\"$color\",pointRadius:$size,label:\"$label\",labelYOffset:7+$size}"

Openlayer が提供するいくつかのオプション (「円」、「正方形」、「星」、「x」、「十字」、「三角形」) に制限されるのではなく、この方法をアップグレードして、アイコンで同じことを行いたいと思います。 .

OpenLayers.Marker で実行できることはわかっていますが、N 個の色の種類があるため、M 個のアイコンのセットを N 回着色する操作はコストが高すぎるように思えます。また、柔軟性もありません。

ブートストラップの Font Awesome のアイコンを挿入する html を追加できるように、imageDiv (OpenLayers.Icon.imageDiv) で遊んでみませんか。この投稿で説明されているように、このアイコンは 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 に答える