In meiner Karte befindet sich eine GeoJson-bezogene Ebene, und die Gliederung der Unterteilung wird hervorgehoben, wenn die Maus aufgrund eines entsprechenden registrierten Ereignisses die Maus überschreibt. Frage ist, wie eine Gliederung Gliederung programmgesteuert hervorhebt (nicht durch Mausüberlagerung)?Wie wird die Gliederung der Unterteilung programmatisch in einer GeoJson-Ebene hervorgehoben?
1
A
Antwort
0
Sie müssen programmatisch die Funktion (Gliederung der Unterteilung) finden, die Sie markieren möchten.
Ich nehme an, Sie haben bereits eine Quelle, Vektor-Schicht und Overlay definiert (es ist eine Schicht, die nur die Funktionen enthält, die markiert) in Ihrem Code:
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({
.........................
Zunächst ist es notwendig, alle zu finden, die
Merkmalevar _features = source.getFeatures();
Dann brauchen Sie einen Namen oder eine ID, die Funktion zu finden:
for (i = 0; i < _features.length; i++) {
if (_features[i].get('name') === name) {
_feature = _features[i];
break;
}
}
Sie fügen der Überlagerungsvektorebene das Feature hinzu:
overlay.getSource().addFeature(_feature);