OpenLayers学习笔记初级篇(一、地图加载)

本文是OpenLayers学习笔记的初级篇,主要介绍了OpenLayers 3的基础知识,包括它是一个开源Web GIS引擎,支持多种地图数据源和渲染方式。文章通过创建地图的示例,展示了如何在HBuilder中加载OpenLayers地图,并解析了加载地图的关键代码,为初学者提供了一个简单的起点。

开源的地图包做的比较优秀比较好的就是OpenLayers了,下面我将用我的学习笔记带领一些没接触过OpenLayers的同学进行学习,目前初步将学习笔记分为初级基础篇,中级进阶篇和高级应用篇,我将通过一个个小的demo进行学习,比较有助于大家加深记忆和动手编码能力,下面我们进行初级基础的学习!

1、OpenLayers 3简介

OpenLayers 3简称ol3,它是一个开源的Web GIS引擎,使用了JavaScript、最新的HTML5技术及CSS技术,支持domcanvaswebgl三种渲染方式。除了支持网页端,还支持移动端(目前移动端还不成熟,有待进一步完善)。在地图数据源方面,支持各种类型的瓦片地图,既支持在线的,也支持离线的。比如OSM, Bing, MapBox, Stamen, MapQuest等等;还支持各种矢量地图,比如GeoJSON,TopoJSON,KML,GML等等。随着OpenLayers 3的进一步发展,将支持更多的地图类型。

2、代码编辑器的选择,这笔我用的是HBuilder,当然还有许多别的可用,比如VSCode、Idea、等等。好了,废话少说我们直接进行第一个OpneLayers地图的加载!我将以源码的形式进行展示!

首先我们在HBuilder中新建一个Web项目,名为OpenLayers初级,如下图所示:

然后我们需要去OpenLayers的官网下载他们的开发包,即ol.js和 ol.css等文件。这个网上也有很多,这里不再赘述,如果有需要可以在下面评论,我发给你。下载下来后把openLlayers对应的css和js文件分别放入对应的包文件下如下图:

好了,下面我们可以写页面加载地图了!

<!Doctype html>
<html xmlns=http://www.w3.org/1999/xhtml>
<head>                  
    <meta http-equiv=Content-Type content="text/html;charset=utf-8">
    <meta http-equiv=X-UA-Compatible content="IE=edge,chrome=1">
    <meta content=always name=referrer>
    <title>OpenLayers 3地图加载</title>
    <link href="css/ol.css" rel="stylesheet" type="text/css" />
    <script type="text/javascript" src="js/ol.js" charset="utf-8"></script>
</head>

<body>
    <div id="map" style="width: 100%"></div>
    <script>
      // 创建地图
      new ol.Map({
            // 设置地图图层
            layers: [
              // 创建一个使用Open Street Map地图源的瓦片图层
              new ol.layer.Tile({source: new ol.source.OSM()})
            ],
            // 设置显示地图的视图
            view: new ol.View({
              center: [0, 0],    // 定义地图显示中心于经度0度,纬度0度处
              zoom: 2            // 并且定义地图显示层级为2
            }),
            // 让id为map的div作为地图的容器
            target: 'map'    
        });
    </script>
</body>

</html>

先看一下运行后的效果:

说明我们已经成功将地图加载出来了,我再稍微说一下地图加载相关部分的代码:

其实创建地图的代码就下面一句话:

new ol.Map({...});

然后我们设置地图的图层加载相关参数Layer和地图的显示相关的参数View ,还有一个地图指向的Dom元素target,总结起来就是一个地图要包括图层Layer、显示View和HTML的Dom元素相绑定的target。还有一个重点就是每一个Layer都必须对应一个数据源Source!

下一章节我们将进行地图基本功能的开发!大家加油!

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值