Ich bin neu in der Openlayers-Bibliothek und habe eine Frage. Ich rendere viele Funktionen und wenn die Karte herausgezoomt ist, überlagern sich die Features, was ziemlich hässlich aussieht, wie man auf dem ersten Screenshot sehen kann. Ich möchte, dass die ausgezoomte Karte (erster Bildschirm) in allen Zoomstufen wie eine vergrößerte Karte (zweiter Bildschirm) aussieht. Was wäre der gängigste Weg, um es zu implementieren?Anzeige von Funktionen basierend auf der Zoomstufe
0
A
Antwort
0
Hier ist ein Beispiel für eine Art Funktion, die Gruppen-Layer-Funktionen aus einer Cluster Karte erkennt und zeichnen ein Quadrat für einzelnes Objekt und Kreis für Gruppenobjekte:
var styleFunction = function() {
return function(feature,resolution) {
var style;
var radius;
var offsetY = -26;
var gotGroup = false;
var features = feature.get('features');
if (features.length == 1) { //length = 1 - individual object instead of combo object
style = new ol.style.Style({
image: new ol.style.RegularShape({
radius: 10,
points: 4,
angle: Math.PI/4,
fill: createFillStyle(feature),
stroke: createStrokeStyle(feature,resolution,props)
}),
text: createTextStyle(feature, resolution, props)
});
} else {
var rad = 11;
if (features.length > 1) { //If group of features increase radius of object
rad = 12;
gotGroup = true;
}
style = new ol.style.Style({
image: new ol.style.Circle({
radius: rad,
fill: createFillStyle(feature),
stroke: createStrokeStyle(feature,resolution,props)
}),
text: createTextStyle(feature, resolution, props)
});
}
return [style];
};
};
Hoffe, das hilft bei Ihrem Projekt
+0
Ich bin neu in dieser Karte Zeug, so dass es sehr hilfreich ist, danke! – Umbrella
Verwandte Themen
- 1. Anzeige von Daten aus der Datenbank basierend auf der Benutzeranmeldung
- 2. Anzeige verschiedener Checkboxen basierend auf der Tageszeit
- 3. Leaflet :: Ändern des Symbols auf der Grundlage der Zoomstufe
- 4. Ändern der Browser-Zoomstufe
- 5. Anzahl der Tabellenspalten basierend auf der Breite der Anzeige
- 6. Anzeige der alten Eingabe basierend auf der Bedingung
- 7. Anzeige des Teils der Befehlsspalte basierend auf der Rolle
- 8. Anzeige Menüelemente als Spalte basierend auf Bedingung
- 9. Anzeige der letzten 10 Monate basierend auf einem bestimmten Datum
- 10. Wie Zeilenwerte basierend auf Anzeige innerhalb einreihigen
- 11. MKMapView Einstellung der anfänglichen Zoomstufe
- 12. Anzeige Ergebnis basierend auf 2 Werte aus der Parametertabelle
- 13. Jquery-Anzeige div basierend auf Formulareingabe
- 14. Anzeige Bild basierend auf URL GET
- 15. Anzeige korrekte Zeile basierend auf Candy Nummer
- 16. QR-Barcode-Anzeige basierend auf Textbox-Eingabe
- 17. html5 Canvas-Anzeige Formen basierend auf Radio
- 18. Anzeige der Daten basierend auf dem ausgewählten Artikel Laravel
- 19. Anzeige der Tabelleninformationen basierend auf einer eingelesenen Datei
- 20. Anzeige einer Zahl basierend auf der Dropdown-Menüauswahl
- 21. Python Umschalten der Anzeige basierend auf Eingabe mit If, Else
- 22. Kentico - Anzeige Liste der verwandten Artikel basierend auf Kategorien/Unterkategorien
- 23. Anzeige basierend auf Django BachstailCMS SITE_ID
- 24. Google-Maps v3: Wie ändert man den Kartenstil basierend auf der Zoomstufe?
- 25. Implementieren Funktionen basierend auf verschiedenen Spielmodi
- 26. eine Reihe von Daten basierend Anzeige auf einer eingestellten Bedingung
- 27. HTML: Anzeige nur eines von zwei Datentabellen basierend auf Auswahl
- 28. Anzeige von Funktionen in c mit vi
- 29. Definieren Sie Funktionen basierend auf Prozeduren in der Liste gespeichert
- 30. Aufruf einer anderen Implementierung der Funktion basierend auf SSE-Funktionen
Check out 'ol.source.Cluster', die die Menge der Daten begrenzen können, auf denen Sie sehen Deine Karte. Sehen Sie dieses Beispiel https://openlayers.org/en/latest/examples/cluster.html – GoinOff
danke, Mann, das ist, was ich brauchte – Umbrella
Ich benutze es aus dem gleichen Grund..Plus, indem Sie eine Stil-Funktion verwenden, können Sie erkennen Gruppieren Sie Features auf der Karte und färben Sie sie anders oder zeichnen Sie eine andere Form für sie (ich vergrößere meinen Punkt ein wenig, um die Gruppenfunktion anzuzeigen). Mauszeiger kann auch alle Details einer Gruppenfunktion enthalten. Sieht so aus, als ob du einen coolen Tracker für Segelboote erstellst ... – GoinOff