0
フィーチャーを読み込み、バッファーしてからopenlayers 3マップに追加するには、次の方法があります。ポリゴンのオープンレイヤーをバッファリングする3
操作は正方形と長方形のポリゴンでうまく機能します。しかし、円のような形になると、最終結果は正方形になります。
円のポリゴンに対応するには、この方法を調整するにはどうすればよいですか? ポリゴンに存在するポイントの数を読み取り、次に動的に計算して、バッファされた配列値を生成しますか?
BufferFeatureAlternative(bufferAmount) {
let state = this._store.getState(),
tmpFeature = state.map.feature.feature_object;
let poitnExtent = tmpFeature.getGeometry().getExtent(),
bufferedExtent = new ol.extent.buffer(poitnExtent, bufferAmount),
bufferPolygon = new ol.geom.Polygon(
[
[
[bufferedExtent[0], bufferedExtent[1]],
[bufferedExtent[0], bufferedExtent[3]],
[bufferedExtent[2], bufferedExtent[3]],
[bufferedExtent[2], bufferedExtent[1]],
[bufferedExtent[0], bufferedExtent[1]]
]
]
),
bufferedFeature = new ol.Feature(bufferPolygon);
let source = this.vectorSource.getSource();
source.clear();
source.addFeature(bufferedFeature);
}
しかし、プロジェクション '27700'のマップでは動作しないと試行しても、エラーが発生します。 – vicgoyso
あなたの事例を解体するためのフィドルを提供しない限り、あなたを導くことは本当に難しい – pavlos