0
さまざまなズームレベルでジオメトリが異なるol.source.VectorTile
が消費するGeoJSONから返される機能があります。 ol.layer.VectorTile
を使用している場合、ジオメトリは異なるズームレベルから提供されたジオメトリを更新または使用するようには見えません。OpenLayers 3はVectorTileを使用して各ズームで新しいジオメトリを強制的に使用できます
相対ズームレベルでフィーチャジオメトリを強制的に再描画する方法はありますか?
これまでのところ、私はol.style.Style
のジオメトリパラメータを使いこなしていましたが、それでもまだ喜んでいないかどうかを確認することができます。
let map = map = new ol.Map({
controls: controls,
loadTilesWhileAnimating: true,
loadTilesWhileInteracting: true,
target: config.target,
interactions: ol.interaction.defaults({
altShiftDragRotate: false,
pinchRotate: false
}),
view: config.view
});
let tileLayer = new ol.layer.Tile({
source: new ol.source.XYZ({
url: config.tileUrl,
tilePixelRatio: 2,
projection: config.projection
});
});
map.addLayer(tileLayer);
let vectorLayer = new ol.layer.VectorTile({
projection: config.projection,
renderMode: 'vector',
source: new ol.source.VectorTile({
projection: config.projection,
format: new ol.format.GeoJSON(),
url: config.vectorUrl,
tileGrid: ol.tilegrid.createXYZ({
extent: config.extent
})
}),
style: config.styler
});
map.addLayer(vectorLayer);
生き生きとした例を教えてください。 "config"の要素がわからない – Icarus
'tileGrid'の設定は正しいですか?ベクトルタイルの全体点は、異なるズームレベルで異なるジオメトリが使用されるためです。また、タイルのGeoJSONを再度チェックして、期待どおりの形状が得られるかどうかを確認してください。 – ahocevar