2、初识OpenLayers(一个简单的地图)
入门教程
入门(一)
大家好,由于最近开始做方面的东西,所以对需要了解学习,翻了很多资料,最大的问题还是的官网资料全英文,所以我想把我的一个学习过程一点一滴的记录一下,大家可以一起讨论学习。从最简单的开始
1、什么是?
**(简称OL)**是一个专为Web GIS 客户端开发提供的 类库包,用于实现标准格式发布的地图数据访问,它是一个开源的Web GIS引擎,使用了、最新的HTML5技术及CSS技术,支持dom,和webgl三种渲染方式。除了支持网页端,还支持移动端(目前移动端还不成熟,有待进一步完善)。在地图数据源方面,支持各种类型的瓦片地图,既支持在线的,也支持离线的。比如OSM, Bing, , , 等等;还支持各种矢量地图,比如,,KML,GML等等。随着 3的进一步发展,将支持更多的地图类型。
2、初识(一个简单的地图)
我们先直接进入主题,用一个小小的地图来展示一下的效果。由浅入深,先看效果,再介绍知识点。这里是用的Vue+结合。
至于Ol的安装使用NPM是十分简单的。在NPM中执行如下:
cnpm i -S ol
这里我们新建一个组件.vue文件来放我们的地图代码
一个简单的小地图(代码片段).
// example
<template><div style="height: 100vh; width: 100vw"><div id="map" ref="map" style="height: 100%; width: 100%"></div></div>
</template><script>
import "ol/ol.css";
import { Map, View } from "ol";
import TileLayer from "ol/layer/Tile";
import OSM from "ol/source/OSM";
export default {data() {return {map: {},};},mounted() {this.initMap();},methods: {initMap() {this.map = new Map({target: "map",layers: [new TileLayer({source: new OSM()})],view: new View({projection: "EPSG:4326",center: [104, 30],zoom: 10,}),});},},
};
</script><style>
#map {height: 100%;
}
/*隐藏ol的一些自带元素*/
.ol-attribution,
.ol-zoom {display: none;
}
</style>
然后我们在APP.vue中调用
<template><div id="app"><h3>你好,openlayers</h3><olmap/></div>
</template><script>
import olmap from "./components/OlMap.vue";
export default {name: "App",components: {olmap,},
};
</script><style>
* {padding: 0;margin: 0;
}
html,
body {height: 100%;
}
#app {height: 100%;
}
</style>
最后,我们npm run 起来,这样我们就可以通过地址访问到我们展示的地图了:
好了,这个就是我们的一个最终效果了,是不是很简单呢,你也来试一试吧!