VorwortDiese Artikelserie stellt ein einfaches Beispiel für die Echtzeitpositionierung vor, das hauptsächlich Folgendes umfasst:
Der erzielte Effekt: 1. Etikettenstil definierenvar Bild = neuer Kreisstil({ Radius: 5, füllen: neue Füllung({ Farbe: "rgba(255, 0, 0, 1)" }), Strich: neuer Strich({ Farbe: "rot", Breite: 1 }) }); var Stile = { Punkt: neuer Stil({ Bild: Bild }) }; var Stilfunktion = Funktion(Feature) { Stile zurückgeben[feature.getGeometry().getType()]; }; 2. Simulation von GeoJSON-Datenvar geojsonObject = { Typ: "FeatureCollection", Merkmale: [ { Typ: "Feature", Geometrie: Typ: "Punkt", Koordinaten: [0, 0] } } //Hier können Sie weitere Funktionen hinzufügen ] }; 3. VerctorLayer erstellen// GeoJSON lesen und als Datenquelle von vectorSource verwenden var vectorSource = new VectorSource({ Funktionen: neues GeoJSON().readFeatures(geojsonObject) }); var VektorLayer = neuer VektorLayer({ Quelle: Vektorquelle, Stil: Stilfunktion }); 4. Erstellen Sie eine Kartemontiert() { diese.map = neue Map({ Schichten: neue Kachelebene({ Quelle: neues OSM() }), Vektorebene ], Ziel: "Karte", Ansicht: neue Ansicht({ Mitte: [0, 0], Zoom: 2 }) }); //Legen Sie die geplante Aufgabe fest und rufen Sie die mobile Label-Methode auf: setInterval(this.translate, 500); }, 5. Simulieren Sie Bewegungen in EchtzeitMethoden: { übersetzen() { //Beschriftungen durchlaufen und Koordinatenpositionen ändern vectorSource.forEachFeature(function(f) { console.log("übersetzen"); // Koordinateninkremente zufällig generieren (hier keine absoluten Koordinatenwerte!!!) var x = Math.random() * 1000000; var y = Math.random() * 1000000; f.getGeometry().translate(x, y); }); } } Zusammenfassen Das Obige ist ein einfaches Front-End-Beispiel zur Echtzeitpositionierung, das Beschriftungen durch simulierte GeoJSON-Objekte anzeigt und Änderungen der Beschriftungsposition durch geplante Aufgaben simuliert. Im nächsten Artikel wird der Java-Server verwendet, um Standortdaten bereitzustellen und ein Echtzeit-Positionierungssystem vollständig zu simulieren. <Vorlage> <div> <span>Hallo, Karte</span> <div id="Karte" Klasse="Karte"></div> </div> </Vorlage> <script lang="ts"> importiere "ol/ol.css"; GeoJSON aus „ol/format/GeoJSON“ importieren; Karte aus „ol/Map“ importieren; Ansicht aus „ol/View“ importieren; importiere { Kreis als Kreisstil, Füllung, Strich, Stil } aus "ol/style"; importiere { OSM, Vektor als Vektorquelle } aus "ol/source"; importiere { Kachel als Kachelebene, Vektor als Vektorebene } aus "ol/layer"; importiere Vue von „vue“; var Bild = neuer Kreisstil({ Radius: 5, füllen: neue Füllung({ Farbe: "rgba(255, 0, 0, 1)" }), Strich: neuer Strich({ Farbe: "rot", Breite: 1 }) }); var Stile = { Punkt: neuer Stil({ Bild: Bild }) }; var Stilfunktion = Funktion(Feature) { Stile zurückgeben[feature.getGeometry().getType()]; }; var geojsonObject = { Typ: "FeatureCollection", Merkmale: [ { Typ: "Feature", Geometrie: Typ: "Punkt", Koordinaten: [0, 0] } } ] }; var Vektorquelle = neue Vektorquelle ({ Funktionen: neues GeoJSON().readFeatures(geojsonObject) }); var VektorLayer = neuer VektorLayer({ Quelle: Vektorquelle, Stil: Stilfunktion }); exportiere Standard Vue.extend({ Daten() { zurückkehren { Karte: {} }; }, montiert() { diese.map = neue Map({ Schichten: neue Kachelebene({ Quelle: neues OSM() }), Vektorebene ], Ziel: "Karte", Ansicht: neue Ansicht({ Mitte: [0, 0], Zoom: 2 }) }); setInterval(dieses.translate, 500); }, Methoden: { übersetzen() { vectorSource.forEachFeature(Funktion(f) { console.log("übersetzen"); var x = Math.random() * 1000000; var y = Math.random() * 1000000; f.getGeometry().translate(x, y); }); } } }); </Skript> <Stil> .Karte { Breite: 100 %; Höhe: 600px; } </Stil> Dies ist das Ende dieses Artikels über die Realisierung der Echtzeit-Positionierungsfunktion durch VUE + OPENLAYERS. Weitere relevante Inhalte zur Positionierung durch VUE OPENLAYERS finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird! Das könnte Sie auch interessieren:
|
<<: Erstellen Sie einen Tomcat9-Cluster über Nginx und realisieren Sie die Sitzungsfreigabe
>>: Analyse von Beispielen für MySQL-Benutzerverwaltungsvorgänge
Inhaltsverzeichnis 1. Überprüfen Sie den Status d...
Inhaltsverzeichnis Wie wird das SQL-Protokoll ang...
Inhaltsverzeichnis Vorwort Direktfüllmethode für ...
Während des täglichen Optimierungsprozesses stell...
Beim Hinzufügen einer Windows 2008-Server-Subdomä...
In diesem Artikelbeispiel wird der spezifische Co...
Inhaltsverzeichnis 1. Ich habe das Root-Passwort ...
In diesem Artikelbeispiel wird der spezifische Co...
Dieser Artikel beschreibt hauptsächlich die Auswi...
Inhaltsverzeichnis 1. Einleitung 2. Verwendung 1....
Eine Umgebung Installieren Sie VMware Tools auf C...
Inhaltsverzeichnis Vorwort 1. Was ist ein Abschlu...
Wirkung: Der Titel hat eine eigene Seriennummer, ...
Das Konfigurieren der Netzwerkkonnektivität für L...
1. MySQL herunterladen Melden Sie sich auf der of...