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

Der Iframe-Frame setzt den weißen Hintergrund im IE-Browser auf transparent

In letzter Zeit muss ich im Projektverlauf häufig ...

36 Prinzipien der MySQL-Datenbankentwicklung (Zusammenfassung)

Vorwort Diese Prinzipien sind aus tatsächlichen K...

So fügen Sie einer Tabelle in SQL Felder und Kommentare hinzu

1. Felder hinzufügen: Tabelle Tabellennamen änder...

Reines CSS, um einen bewölkten Wettersymboleffekt zu erzielen

Wirkung Die Wirkung ist wie folgt ​ Umsetzungside...

Tab-Effekte mit JS schreiben

In diesem Artikelbeispiel wird der spezifische Co...

Detaillierte Erläuterung der Angular-Routing-Unterrouten

Inhaltsverzeichnis 1. Subroutensyntax 2. Beispiel...

Beispielcode der Uniapp Vue- und NVUE-Karussellkomponenten

Der Vue-Teil ist wie folgt: <Vorlage> <K...