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

Beste Möglichkeit, den Schlüssel im JSON-Objekt zu ersetzen

JSON (JavaScript Object Notation, JS Object Notat...

Installations- und Verwendungsschritte für Docker Compose

Inhaltsverzeichnis 1. Was ist Docker Compose? 2. ...

OpenSSL-Zertifikate in der Linux-Umgebung generieren

1. Umgebung: CentOS7, Openssl1.1.1k. 2. Konzept: ...

Beispiel für ein WeChat-Applet zum Erzielen des rotierenden Laterneneffekts

Vorwort In der täglichen Entwicklung stoßen wir h...

So beheben Sie den MySQL-FEHLER 1045 (28000) - Zugriff wegen Benutzer verweigert

Problembeschreibung (die folgende Diskussion besc...

React implementiert Import und Export von Excel-Dateien

Inhaltsverzeichnis Präsentationsschicht Geschäfts...

DIV-Hintergrund, halbtransparenter Text, nicht durchscheinender Stil

Der DIV-Hintergrund ist halbtransparent, aber die ...

Beispielcode zur Implementierung eines Waben-/Sechseckatlas mit CSS

Ich weiß nicht warum, aber UI gestaltet gerne Wab...

So kapseln Sie Axios in Vue

Inhaltsverzeichnis 1. Installation 1. Einleitung ...

Grafisches Tutorial zur Installation und Konfiguration von MySQL 5.7.20 (Win10)

In diesem Artikel wird die Installations- und Kon...

Verwenden Sie reines CSS, um einen Scroll-Schatteneffekt zu erzielen

Um es gleich auf den Punkt zu bringen: Bei manche...

So sichern und wiederherstellen Sie die MySQL-Datenbank, wenn sie zu groß ist

Befehl: mysqlhotcopy Dieser Befehl sperrt die Tab...

Lösung für Überlauf: versteckter Fehler in CSS

Ursache des Fehlers Als ich heute ein Karussell s...