【Day01】Openlayers从入门到微精通 - 创建属于自己的地图

在学习openlayers时首先要理解openlayers中的结构,想当初我自己也是模模糊糊地就撞了进去,搞了老半天也看不懂到底在干嘛,最后才发现原来openlayers架构是如此的清晰……,如果当初有人愿意这样简单的告诉我,我想我在学习会更轻省

创建HTML

<!DOCTYPE html><html lang="en">  <head>    <meta charset="UTF-8" />    <meta name="viewport" content="width=device-width, initial-scale=1.0" />    <title>Document</title>    <script src="https://cdn.jsdelivr.net/npm/ol@v8.2.0/dist/ol.js"></script>    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/ol@v8.2.0/ol.css">    <link rel="stylesheet" href="style.css">  </head>  <body>    <div id="map"></div>    <script type="module" src="./main.js"></script>  </body></html>

css

创建style.css档案,在index.html中引入
其中将地图预设的margin和padding设定为0,如此一来当#map设定宽高的时候就不会显示出xy轴

html,body{  margin: 0;  padding: 0;}#map{  width: 100vw;  height: 100vh;}

js

下图可以看到openlayers中几个重要的元件,你可以从openlayers API中看到https://openlayers.org/en/latest/apidoc/

http://img2.58codes.com/2024/20165487SjkwNtCMmO.png

我不知道大家看到的感觉,反正我只记得我当初看到的时候等于没看,于是我现在做了一张图帮助大家可以快速理解架构,当我们后续建立地图的元素时,这张架构图就很重要了,可以帮助你快速进入openlayers的世界

http://img2.58codes.com/2024/20165487AAL1bUPYny.png

layers:是一个阵列,我们可以堆叠很多的layer到里面,layer也会依照z-index影响他们显示的上下层target:是用来指定地图的,可以使用HTML元素或字串来指定view:是我们的视角,控制它可以让我们如同使用google map一样,快速移动到我们想要的位置或是指定初始的座标地点constrols:里面会有包含openlayers设定好的『地图互动元件』,当然我们也可以自订义新的元件

还有其他的元件我们没有介绍到,但后续会慢慢的将菜色端上来喔,现在大家可以开始试着将HTML、CSS、JS放到自己的程式中啰,看看是有没有显示出地图!

var map = new ol.Map({  layers: [    new ol.layer.Tile({      source: new ol.source.OSM()    })  ],  target: 'map',  view: new ol.View({    projection: "EPSG:3857",    center: ol.proj.fromLonLat([120.846642, 23.488793]),    zoom: 7.5,    maxZoom: 20,    minZoom: 5,    enableRotation: false,  }),  controls: []});

如果你成功了,应该会看到以下的成果

http://img2.58codes.com/2024/20165487dDxPLBqDJn.png

参考连结

https://github.com/weijung0923/learning-openlayers-micromastery/tree/day01


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章