1. World Map1. Install openlayers in vuenpm i --save ol The vue mentioned here is built based on scaffolding. Create a new page, that is, the vue file, and configure the routing. Then I can directly put in my code and run it. Vue uses openlayers to load Tiandi Map and Amap <template> <div class="wrapper"> <div>Map of the world</div> <div class="map" id="olMap"></div> </div> </template> <script> import "ol/ol.css"; import { Tile as TileLayer } from "ol/layer"; import XYZ from "ol/source/XYZ"; import { defaults as defaultControls } from "ol/control"; import Map from "ol/Map.js"; import View from "ol/View.js"; export default { data() { return { map: null, parser: null, }; }, mounted() { this.initMap(); }, methods: { initMap() { const map = new Map({ target: "olMap", view: new View({ center: [0, 0], //Center point latitude and longitude zoom: 4, //Layer scaling projection: "EPSG:4326", }), controls: defaultControls({ zoom: true, attribution: false, rotate: false, }), }); this.map = map; // Add map let url = "http://t{0-7}.tianditu.com/DataServer?x={x}&y={y}&l={z}"; url = `${ url}&T=vec_c&tk=replace your key`; const source = new XYZ({ url: url, projection: "EPSG:4326", }); const tdtLayer = new TileLayer({ source: source, }); this.map.addLayer(tdtLayer); // Add annotation url = "http://t{0-7}.tianditu.com/DataServer?x={x}&y={y}&l={z}"; url = `${ url}&T=cva_c&tk=replace your key`; const sourceCVA = new XYZ({ url: url, projection: "EPSG:4326", }); const tdtcvaLayer = new TileLayer({ source: sourceCVA, }); this.map.addLayer(tdtcvaLayer); }, }, }; </script> <style scoped> .map { width: 100%; height: 100vh; } </style> The world map will be displayed. Effect picture: 2. AmapCompared with Tiandi Map, Amap is much easier. Just go to the code <template> <div class="wrapper"> <div>Amap</div> <div id="map"></div> </div> </template> <script> import { Map,View,Feature} from 'ol' import * as olProj from 'ol/proj' import { Point} from 'ol/geom' import { Style, Fill, Stroke, Circle as sCircle } from "ol/style"; // Add layer import Tilelayer from 'ol/layer/Tile' import { Vector as VectorLayer} from 'ol/layer' import { XYZ,Vector as VectorSource} from 'ol/source' //Import style file import "ol/ol.css" export default { data() { return { map:null } }, mounted() { this.init(); this.setMarker(); }, methods: { init(){ this.map = new Map({ target:'map', layers:[new Tilelayer({ source: new XYZ({ url:'https://wprd0{1-4}.is.autonavi.com/appmaptile?lang=zh_cn&size=1&style=7&x={x}&y={y}&z={z}', }) }) ], view:new View({ // Take Xi'an as the center of the map // The olProj.fromLonLat method converts longitude and latitude into corresponding coordinates center: olProj.fromLonLat([108.945951, 34.465262]), zoom:2 }), }) }, setMarker(){ let _style = new Style({ image:new sCircle({ radius:10, stroke:new Stroke({ color:"#fff", }), fill: new Fill({ color:'#3399CC', }), }), }); let _feature = new Feature({ geometry:new Point(olProj.fromLonLat([108.945951, 34.465262])), }); _feature.setStyle(_style); let _marker = new VectorLayer({ source: new VectorSource({ feature:[_feature], }), }); this.map.addLayer(_marker); }, }, } </script> <style scoped> #map{ /* Screen width and height */ width: 100vw; height: 100vh; } </style> This is the end of this article about how Vue uses openlayers to load Tiandi Map and Amap. For more relevant content about openlayers loading Tiandi Map and Amap, please search for previous articles on 123WORDPRESS.COM or continue to browse the following related articles. I hope you will support 123WORDPRESS.COM in the future! You may also be interested in:
|
>>: How to write the introduction content of the About page of the website
Importing data with incorrect MySQL character set...
Use wget command to download the entire subdirect...
Six effectsImplementation Code html <h1>CSS...
The datetime type is usually used to store time i...
Preface Let me explain here first. Many people on...
Directory Structure . │ .env │ docker-compose.yml...
1. Cause The requirement is to display two lines,...
Table of contents 01 Introduction to InnoDB Repli...
Table of contents What utilities does VueUse have...
Table of contents 1. Overview 2. Use docker to de...
It is very convenient to connect to a remote serv...
1. Command Introduction The contab (cron table) c...
Table of contents Introduction Instructions Actua...
1. Subquery MySQL 4.1 and above support subquerie...
Normal explanation % means any client can connect...