Vue verwendet Openlayers zum Laden von Tiandi Map und Amap

Vue verwendet Openlayers zum Laden von Tiandi Map und Amap

1. Weltkarte

1. Installieren Sie Openlayers in Vue

 npm ich --save ol

Die hier erwähnte Ansicht ist auf der Grundlage eines Gerüsts aufgebaut. Erstellen Sie eine neue Seite, also die Vue- Datei, und konfigurieren Sie das Routing. Dann kann ich meinen Code direkt einfügen und ausführen.

 Vue verwendet Openlayers zum Laden von Tiandi Map und Amap <template>
  <div Klasse="Wrapper">
    <div>Weltkarte</div>
    <div Klasse="Karte" id="olMap"></div>
  </div>
</Vorlage>
<Skript>
importiere "ol/ol.css";
importieren {
  Kachel als Kachelebene } von „ol/layer“;
importiere XYZ aus „ol/source/XYZ“;
importieren {
  standardmäßig als Standardsteuerelemente } von „ol/control“;
importiere Karte aus „ol/Map.js“;
Importiere Ansicht aus „ol/View.js“;
Standard exportieren {
  Daten() {
   zurückkehren {
      Karte: null,
      Parser: null,
    };
  },
  montiert() {
    dies.initMap();
  },
  Methoden: {
    initMap() {
     const map = neue Map({
       Ziel: "olMap",
        Ansicht: neue Ansicht({
 
          Zentrum: [0, 0], // Mittelpunkt Breiten- und Längengrad Zoom: 4, // Layer-Skalierungsprojektion: "EPSG:4326",
        }),
        Steuerelemente: Standardsteuerelemente({
          Zoom: wahr,
          Zuordnung: falsch,
          drehen: falsch,
        }),
      });
      diese.map = Karte;
      // Karte hinzufügen let url = "http://t{0-7}.tianditu.com/DataServer?x={x}&y={y}&l={z}";
      URL = `${
   url}&T=vec_c&tk=ersetzen Sie Ihren Schlüssel`;
      const Quelle = neues XYZ({
     URL: URL,
        Projektion: "EPSG:4326",
      });
      const tdtLayer = neue TileLayer({
        Quelle: Quelle,
      });
      diese.map.addLayer(tdtLayer);
      // Anmerkung hinzufügen url = "http://t{0-7}.tianditu.com/DataServer?x={x}&y={y}&l={z}";
      URL = `${
   url}&T=cva_c&tk=ersetzen Sie Ihren Schlüssel`;
      const sourceCVA = neues XYZ({
        URL: URL,
        Projektion: "EPSG:4326",
      });
      const tdtcvaLayer = neue Kachelebene({
        Quelle: QuelleCVA,
      });
      diese.map.addLayer(tdtcvaLayer);
    },
  },
};
</Skript>
<Stilbereich>
.Karte {
  Breite: 100 %;
  Höhe: 100vh;
}
</Stil>

Die Weltkarte wird angezeigt.

Effektbild:

2. Eine Karte

Im Vergleich zu Tiandi Map ist Amap viel einfacher. Gehen Sie einfach zum Code

 <Vorlage>
  <div Klasse="Wrapper">
    <div>Eine Karte</div>
    <div id="Karte"></div>
  </div>
</Vorlage>
<Skript>
importieren {
 Karte,Ansicht,Feature} von 'ol'

importiere * als olProj von „ol/proj“
importieren {
 Punkt} von 'ol/geom'
importieren {
  Stil, Füllung, Strich, Kreis als sCircle } von „ol/style“;
//Ebene hinzufügen, Tilelayer aus „ol/layer/Tile“ importieren
importieren {
 Vektor als Vektorebene} aus „ol/layer“
importieren {
 XYZ,Vektor als Vektorquelle} von 'ol/source'
//Stildatei importieren import "ol/ol.css"
Standard exportieren {
  Daten() {
  zurückkehren {
    Karte:null
    }
  },
  montiert() {
  dies.init();
   setMarker();
  },
  Methoden: {
    init(){
       diese.map = neue Map({
         Ziel: 'Karte',
         Ebenen: [neue Kachelebene ({
           Quelle: neues XYZ({
               URL: 'https://wprd0{1-4}.is.autonavi.com/appmaptile?lang=zh_cn&size=1&style=7&x={x}&y={y}&z={z}',
           })
         })
         ],
        Ansicht:neue Ansicht({

            // Xi'an als Mittelpunkt der Karte nehmen // Die Methode olProj.fromLonLat wandelt Längen- und Breitengrad in entsprechende Koordinaten um: olProj.fromLonLat([108.945951, 34.465262]),
          Zoom: 2
        }),
       })
    },
    setzeMarker(){
        let _style = neuer Stil({
            Bild: neuer Kreis({
                Radius: 10,
                Strich:neuer Strich({
                    Farbe: "#fff",
                }),
                füllen: neue Füllung({
                    Farbe: '#3399CC',
                }),
            }),
        });
        let _feature = neues Feature({
 
            Geometrie: neuer Punkt (olProj.fromLonLat ([108.945951, 34.465262])),
        });
        _feature.setStyle(_style);
        let _marker = neue Vektorebene({

            Quelle: neue Vektorquelle ({
               Funktion:[_Funktion],
            }),
        });
        diese.map.addLayer(_marker);
    },
  },
}
</Skript>
<Stilbereich>
  #Karte{
      /* Bildschirmbreite und -höhe */
    Breite: 100vw;
    Höhe: 100vh;
  }
</Stil>

Dies ist das Ende dieses Artikels darüber, wie Vue Openlayers zum Laden von Tiandi Map und Amap verwendet. Weitere relevante Inhalte zum Laden von Tiandi Map und Amap durch 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:
  • Vue verwendet Tiandi Map und Openlayers, um mehrere grundlegende Karten-Overlay-Anzeigeeffekte zu erzielen
  • vue-openlayers realisiert den Popup-Box-Effekt für Kartenkoordinaten
  • Vue ruft Beispielcode der Gaode-Karte auf
  • So führen Sie Amap und seine UI-Komponenten in ein Vue-Projekt ein
  • Vue Baidu Map + detaillierte Erklärung der Positionierung
  • Vue Echarts implementiert ein visuelles Weltkarten-Codebeispiel
  • Detaillierte Erklärung zum Aufrufen der Baidu Map API im Vue-Projekt
  • Lösen Sie das Problem, dass Vue lokale Bilder dynamisch lädt
  • Zwei Möglichkeiten zum Konfigurieren von Amap in Vue-Cli 3.0
  • Vue verwendet Openlayers zum Erstellen einer Karte

<<:  Implementierung von erzwungenen Zeilenumbrüchen und Nicht-Zeilenumbrüchen in div, td, p und anderen Containern in HTML

>>:  So schreiben Sie den Einführungsinhalt der Infoseite der Website

Artikel empfehlen

MariaDB unter Linux startet mit dem Root-Benutzer (empfohlen)

Da ich Sicherheitsprodukte testen musste, wollte ...

Ladeanimation mit CSS3 implementiert

Ergebnisse erzielen Implementierungscode <h1&g...

Der Unterschied zwischen den Feldtypen char, varchar und Text in MySQL

In MySQL können alle Felder der Typen char, varch...

So installieren und konfigurieren Sie den Supervisor-Daemon unter CentOS7

Neuling, nimm es selbst auf 1. Supervisor install...

Diagramm des Prozesses zur Implementierung eines Richtungsproxys durch Nginx

Dieser Artikel stellt hauptsächlich den Prozess d...

Optimierungsmethoden, wenn MySQL zu viel CPU beansprucht (unbedingt lesen)

Wenn MySQL zu viel CPU beansprucht, wo sollten wi...

Überwachen Sie die Größenänderung eines DOM-Elements über Iframe

Ein während des Entwicklungsprozesses häufig auft...

So stellen Sie Confluence und Jira-Software in Docker bereit

Version: centos==7.2 jdk==1.8 Zusammenfluss == 6....

Detaillierte Anwendungsfälle von MySql Escape

MySQL-Escape Escape bedeutet die ursprüngliche Se...

Linux verwendet den Binärmodus zur Installation von MySQL

In diesem Artikel werden die einzelnen Schritte z...

Detaillierte Erläuterung der Cache-Konfiguration von Nginx Proxy_Cache

Vorwort: Aufgrund meiner Arbeit beschäftige ich m...

Detaillierter Installationsprozess der MySQL 8.0 Windows-ZIP-Paketversion

Der Installationsprozess von MySQL 8.0 Windows Zi...

Mit JS in zehn Minuten die Existenz von Elementen in einem Array bestimmen

Vorwort In der Front-End-Entwicklung müssen Sie h...