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

Beispielcode zur Implementierung einer Auto-Increment-Sequenz in MySQL

1. Erstellen Sie eine Sequenztabelle CREATE TABLE...

So erstellen Sie ein responsives Säulendiagramm mit dem CSS-Rasterlayout

Ich spiele jetzt schon eine Weile mit Diagrammen ...

Analyse der geplanten Aufgaben und Ereignisplanungsbeispiele von MySQL

Dieser Artikel beschreibt anhand von Beispielen d...

So überwachen Sie Tomcat mit LambdaProbe

Einführung: Lambda Probe (früher bekannt als Tomc...

Kompatibilitätsprobleme mit CSS3-Farbverlaufshintergründen

Wenn wir eine Hintergrundfarbe mit Farbverlauf er...

MYSQL Left Join-Optimierung (10 Sekunden bis 20 Millisekunden)

Inhaltsverzeichnis 【Funktionshintergrund】 [Rohes ...

Windows-Plattformkonfiguration Version 5.7 + MySQL-Datenbankdienst

Beinhaltet den Prozess der Initialisierung des Ro...

Analyse des Implementierungsprozesses der Docker-Container-Orchestrierung

In tatsächlichen Entwicklungs- oder Produktionsum...

jQuery implementiert die Funktion zum Ziehen von Bildern mit der Maus

In diesem Beispiel wird jQuery verwendet, um eine...