1
マップにGeoJsonソースレイヤーがあり、対応するイベントが登録されているためマウスがオーバーローリングすると、サブディビジョンのアウトラインが強調表示されます。 質問は、サブディビジョンのアウトラインをプログラムで(マウスオーバーリングではなく)強調表示する方法ですか?GeoJson層でサブディビジョンのアウトラインをプログラムでハイライト表示するにはどうすればいいですか?
マップにGeoJsonソースレイヤーがあり、対応するイベントが登録されているためマウスがオーバーローリングすると、サブディビジョンのアウトラインが強調表示されます。 質問は、サブディビジョンのアウトラインをプログラムで(マウスオーバーリングではなく)強調表示する方法ですか?GeoJson層でサブディビジョンのアウトラインをプログラムでハイライト表示するにはどうすればいいですか?
ハイライトしたい機能(サブディビジョンのアウトライン)をプログラムで見つける必要があります。
私はあなたのコードで(それが強調表示されている機能だけを含む層である)あなたは既にソース、ベクトル層とオーバーレイを定義したとします
source = new ol.source.Vector({
url: '[your url]',
format: new ol.format.GeoJSON()
...........
layer = new ol.layer.Vector({
source: source
.....................
overlay = new ol.layer.Vector({
.........................
まず、すべてを見つけることが必要です機能
var _features = source.getFeatures();
はその後、機能を見つけるために、名前やIDが必要になります。
for (i = 0; i < _features.length; i++) {
if (_features[i].get('name') === name) {
_feature = _features[i];
break;
}
}
オーバーレイベクターレイヤーにフィーチャーを追加します。
overlay.getSource().addFeature(_feature);