:Openlayers RegularShape半径1と半径2を使って星を生成するにはどうすればよいですか?
radius number | undefined Radius of a regular polygon.
radius1 number | undefined Inner radius of a star.
radius2 number | undefined Outer radius of a star.
私の解釈は、通常のポリゴン(三角形、四角形、五角形、等)のために、私はradius
を使用しますが、どちらかradius1
を使うべきではないかということですradius2
。そして十分にこれは正常に動作します。
同様に、私はスターのために、私はradius
を使用してはならないことを意味するためにこれを解釈していたと私は両方radius1
とradius2
を使用する必要があることと、そのradius1
はradius2
よりも小さくする必要があります。しかし、これは私が星の部分を見ることができるかなり奇妙なシンボルを作りましたが、正方形のマスクで切り取られたようです。
Openlayersサンプルコードを調べた結果、私が望んだ結果を得るには、radius
とradius2
を使用して終了しました。radius2
は小さい番号です!
javacriptの2つのバージョンは以下のとおりですが、唯一の違いはさまざまなradius(X)
パラメータの使用です。
ドキュメントの理解が間違っている(またはドキュメント/実装が壊れている)ようです。
なぜ私の新しいコードが動作するのか知りたいです。だから、どのようにさまざまなradius(X)
パラメータが動作するはずです説明してください、私は3つすべての説明を理解するのを助けることができる?
このコードはかなり奇妙なシンボルを生成する正方形マスクによって星cuttオフのようなビット:
:このコードは、正しい星を生成new ol.style.Style({
image: new ol.style.RegularShape({
stroke: new ol.style.Stroke({
color: '#333333FF',
width: 6.0
}),
radius1: 24,
radius2: 60,
points: 5
})
})
new ol.style.Style({
image: new ol.style.RegularShape({
stroke: new ol.style.Stroke({
color: '#333333FF',
width: 6.0
}),
radius: 60,
radius2: 24,
points: 5
})
})
ありがとうございます。非常に高く評価。 –