Vue+Openlayer verwendet „modify“, um Elemente zu ändern. Die spezifischen Inhalte sind wie folgt:
Features direkt ändern Kerncode: // Ändere den Feature-Kerncode modifyFeature() { this.modify = neue Ändern({ Quelle: this.lineStringLayer.getSource(), }); diese.map.addInteraction(diese.ändern); }, Vollständiger Code: <Vorlage> <div id="Karte" style="Höhe: 100vh; Breite: 100vw"></div> </Vorlage> <Skript> importiere "ol/ol.css"; importiere { Karte, Ansicht, Funktion } von "ol"; importiere { OSM, Vektor als Vektorquelle } aus "ol/source"; importiere { Vektor als Vektorebene, Kachel als Kachelebene } aus "ol/layer"; importiere { Punkt, Linienzug, Polygon } aus "ol/geom"; importiere { Ändere } von "ol/interaction"; Standard exportieren { Daten() { zurückkehren { Karte: {}, Zeilenzeichenfolgeebene: {}, ändern: {}, }; }, erstellt() {}, montiert() { dies.initMap(); dies.addLayer(); dies.modifyFeature(); }, berechnet: {}, Methoden: { initMap() { diese.map = neue Map({ Ziel: "Karte", Schichten: neue Kachelebene({ Quelle: neues OSM(), }), ], Ansicht: neue Ansicht({ Projektion: "EPSG:4326", Mitte: [104.2979180563, 30.528298024], Zoom: 18, }), }); }, addLayer() { this.lineStringLayer = neuer VektorLayer({ Quelle: neue VectorSource(), }); this.lineStringLayer.getSource().addFeature( neue Funktion({ Geometrie: neuer LineString([ [104.2979180563, 30.528298024], [104.2987389704, 30.527798338], ]), }) ); diese.map.addLayer(diese.lineStringLayer); }, // Ändere den Feature-Kerncode modifyFeature() { this.modify = neue Ändern({ Quelle: this.lineStringLayer.getSource(), //Quelle wird hier verwendet }); diese.map.addInteraction(diese.ändern); }, }, }; </Skript> Darüber hinaus können Sie das Änderungsobjekt über this.modify.setActive(false) deaktivieren und den Aktivierungsstatus über this.modify.getActive() abrufen. Wählen Sie zuerst die Funktion aus und ändern Sie sie dannKerncode:
Funktion ändern() { this.modify = neue Ändern({ //Hinweis: Verwenden Sie hier unbedingt das Features-Attribut und nicht die Quelle! ! ! ! Funktionen: this.select.getFeatures(), }); diese.map.addInteraction(diese.ändern); }, Vollständiger Code: <Vorlage> <div id="Karte" style="Höhe: 100vh; Breite: 100vw"></div> </Vorlage> <Skript> importiere "ol/ol.css"; importiere { Karte, Ansicht, Funktion } von "ol"; importiere { OSM, Vektor als Vektorquelle, XYZ } aus "ol/source"; importiere { Vektor als Vektorebene, Kachel als Kachelebene } aus "ol/layer"; Importieren Sie Select aus „ol/interaction/Select“. importiere { Punkt, Linienzug, Polygon } aus "ol/geom"; importiere { Ändere } von "ol/interaction"; Standard exportieren { Daten() { zurückkehren { Karte: {}, Zeilenzeichenfolgeebene: {}, ziehen: {}, ändern: {}, wählen: {}, }; }, erstellt() {}, montiert() { dies.initMap(); dies.pointerMove(); dies.addLayer(); dies.selectFeature(); dies.modifyFeature(); }, berechnet: {}, Methoden: { initMap() { diese.map = neue Map({ Ziel: "Karte", Schichten: neue Kachelebene({ Quelle: neues OSM(), }), ], Ansicht: neue Ansicht({ Projektion: "EPSG:4326", Mitte: [104.2979180563, 30.528298024], Zoom: 18, }), }); }, ZeigerBewegung() { diese.map.on("Zeigerbewegung", (e) => { const isHover = this.map.hasFeatureAtPixel(e.pixel); this.map.getTargetElement().style.cursor = isHover ? "Zeiger" : ""; }); }, addLayer() { this.lineStringLayer = neuer VektorLayer({ Quelle: neue VectorSource(), }); this.lineStringLayer.getSource().addFeature( neue Funktion({ Geometrie: neuer LineString([ [104.2979180563, 30.528298024], [104.2987389704, 30.527798338], ]), }) ); diese.map.addLayer(diese.lineStringLayer); }, wähleFeature() { dies.select = neues Select(); diese.map.addInteraction(diese.select); }, Funktion ändern() { this.modify = neue Ändern({ //Hinweis: Verwenden Sie hier unbedingt das Features-Attribut und nicht die Quelle! ! ! ! Funktionen: this.select.getFeatures(), }); diese.map.addInteraction(diese.ändern); }, }, }; </Skript> ps: Openlayers ändert Vektorfunktionen Fügen Sie den folgenden Code in die Beispiele unter Demo ein, um ihn auszuführen <!DOCTYPE html> <html> <Kopf> <meta http-equiv="Inhaltstyp" content="text/html; charset=utf-8"> <meta name="viewport" content="width=Gerätebreite, Anfangsmaßstab=1,0, Maximalmaßstab=1,0, Benutzerskalierung=0"> <meta name="apple-mobile-web-app-fähig" content="ja"> <title>Funktion ändern</title> <link rel="stylesheet" href="../theme/default/style.css" rel="externes Nofollow" rel="externes Nofollow" type="text/css"> <link rel="stylesheet" href="style.css" rel="externes Nofollow" rel="externes Nofollow" type="text/css"> <style type="text/css"> </Stil> <script src="../lib/OpenLayers.js"></script> <Skripttyp="text/javascript"> Var-Maps, Vektoren, Steuerelemente; Funktion init(){ Karte = neue OpenLayers.Map('Karte'); var wms = new OpenLayers.Layer.WMS( "OpenLayers WMS", "http://vmap0.tiles.osgeo.org/wms/vmap0?", {Ebenen: 'basic'}); OpenLayers.Feature.Vector.style['Standard']['Strichbreite'] = '2'; Vektoren = neuer OpenLayers.Layer.Vector("Vektorebene"); var Geometrie = OpenLayers.Geometry.fromWKT( 'POLYGON((110 20,120 20,120 10,110 10,110 20),(112 17,118 18,118 16,112 15,112 17))' ); Vektoren.addFeatures([neues OpenLayers.Feature.Vector(Geometrie)]); map.addLayers([wms, Vektoren]); //Grafiksteuerelemente zeichnen = neues OpenLayers.Control.DrawFeature(Vektoren, OpenLayers.Handler.Polygon); map.addControl(Steuerelemente); steuert.aktivieren(); map.setCenter(neu OpenLayers.LonLat(110, 20), 3); } Funktion update() { //Controls.deactivate() ändern; Steuerungen = neues OpenLayers.Control.ModifyFeature(Vektoren); map.addControl(Steuerelemente); steuert.aktivieren(); } Funktion deaktivieren(){ steuert.deaktivieren(); } </Skript> </Kopf> <body onload="init()"> <div id="Karte" Klasse="kleineKarte"></div> <div><input type = "button" value = "Ändern" onclick = "update()"/> <input type = "button" value = "Abbrechen" onclick = "deactivate()"/> </div> </body> </html> Dies ist das Ende dieses Artikels über die Verwendung von „modify“ zum Ändern von Elementen in Vue+Openlayer. Weitere relevante Inhalte zum Ändern von Elementen in Vue Openlayer finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen! Das könnte Sie auch interessieren:
|
<<: Detaillierte Analyse des virtuellen Nginx-Hosts
>>: Implementierungsmethode für horizontale und vertikale MySQL-Tabellenkonvertierungsvorgänge
Beim Importieren von Daten mit falscher MySQL-Zei...
8 Optimierungsmethoden für das MySQL-Datenbankdes...
In diesem Blogbeitrag geht es um eine Schwierigke...
Inhaltsverzeichnis 1. Herunterladen 2. Installier...
Nach der Installation von MySQL werden Sie festst...
Was ist ZooKeeper ZooKeeper ist ein Top-Level-Pro...
Wie lange ist es her, dass ich meine Kolumne aktu...
Inhaltsverzeichnis 1. Zusatzfunktionen 2. Beispie...
1. Kabellos Führen Sie PowerShell aus und geben S...
Unterrichtsthemen Webseite Anwendbare Klasse Zwei...
wie folgt: -m, --memory Speicherlimit, das Format...
Es gibt die folgenden vier häufig verwendeten Met...
Inhaltsverzeichnis Vorwort Komponenten erstellen ...
Dockerfile ist eine Textdatei, die Anweisungen en...
Machen Sie sich anhand von Beispielen mit der Bede...