diff --git a/examples/hitdetect-vector.html b/examples/hitdetect-vector.html
index 8186f940f6..bd05746747 100644
--- a/examples/hitdetect-vector.html
+++ b/examples/hitdetect-vector.html
@@ -1,12 +1,12 @@
---
layout: example.html
title: Vector Layer Hit Detection
-shortdesc: Example of hit detection on a countries vector layer with country information.
+shortdesc: Example of hit detection on an ecoregions vector layer with protection status.
docs: >
- The countries are loaded from a GeoJSON file. Information about countries is
- on hover and click is retrieved using the layer's `getFeatures()` method. For
+ The ecoregions are loaded from a GeoJSON file. Information about features is
+ retrieved using the layer's `getFeatures()` method on hover and click. For
vector layers, this function resolves with an array of only the topmost
- feature. It uses a very efficient hit detection algorithm, at the cost of
+ feature. It uses an efficient hit detection algorithm, at the cost of
accuracy. For pixel exact hit detection, when performance is not a concern,
use the map's `getFeaturesAtPixel()` or `forEachFeatureAtPixel()` methods.
tags: "vector, geojson, click, hover, hit detection"
diff --git a/examples/hitdetect-vector.js b/examples/hitdetect-vector.js
index df9620f014..01c4aad408 100644
--- a/examples/hitdetect-vector.js
+++ b/examples/hitdetect-vector.js
@@ -3,35 +3,23 @@ import Map from '../src/ol/Map.js';
import VectorLayer from '../src/ol/layer/Vector.js';
import VectorSource from '../src/ol/source/Vector.js';
import View from '../src/ol/View.js';
-import {Fill, Stroke, Style, Text} from '../src/ol/style.js';
+import {Fill, Stroke, Style} from '../src/ol/style.js';
const style = new Style({
fill: new Fill({
- color: 'rgba(255, 255, 255, 0.6)',
- }),
- stroke: new Stroke({
- color: '#319FD3',
- width: 1,
- }),
- text: new Text({
- font: '12px Calibri,sans-serif',
- fill: new Fill({
- color: '#000',
- }),
- stroke: new Stroke({
- color: '#fff',
- width: 3,
- }),
+ color: '#eeeeee',
}),
});
const vectorLayer = new VectorLayer({
+ background: '#1a2b39',
source: new VectorSource({
- url: 'data/geojson/countries.geojson',
+ url: 'https://openlayers.org/data/vector/ecoregions.json',
format: new GeoJSON(),
}),
style: function (feature) {
- style.getText().setText(feature.get('name'));
+ const color = feature.get('COLOR_NNH') || '#eeeeee';
+ style.getFill().setColor(color);
return style;
},
});
@@ -47,31 +35,15 @@ const map = new Map({
const highlightStyle = new Style({
stroke: new Stroke({
- color: '#f00',
- width: 1,
- }),
- fill: new Fill({
- color: 'rgba(255,0,0,0.1)',
- }),
- text: new Text({
- font: '12px Calibri,sans-serif',
- fill: new Fill({
- color: '#000',
- }),
- stroke: new Stroke({
- color: '#f00',
- width: 3,
- }),
+ color: 'rgba(255, 255, 255, 0.7)',
+ width: 2,
}),
});
const featureOverlay = new VectorLayer({
source: new VectorSource(),
map: map,
- style: function (feature) {
- highlightStyle.getText().setText(feature.get('name'));
- return highlightStyle;
- },
+ style: highlightStyle,
});
let highlight;
@@ -80,7 +52,7 @@ const displayFeatureInfo = function (pixel) {
const feature = features.length ? features[0] : undefined;
const info = document.getElementById('info');
if (features.length) {
- info.innerHTML = feature.getId() + ': ' + feature.get('name');
+ info.innerHTML = feature.get('ECO_NAME') + ': ' + feature.get('NNH_NAME');
} else {
info.innerHTML = ' ';
}