Openlayers实现地图的基本操作


Posted in Javascript onSeptember 28, 2020

本文实例为大家分享了Openlayers实现地图基本操作的具体代码,供大家参考,具体内容如下

1、新建一个html页面,引入ol.js和ol.css文件,然后在body中创建一个Div标签和4个Button按钮,用来实现地图的放大、缩小、平移等功能;

2、代码实现

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
 <title></title>
 <script src="../lib/ol/ol.js"></script>
 <link href="../css/ol.css" rel="stylesheet" />
 <style type="text/css">
 #menu
 {
 float : left;
 position : absolute;
 bottom : 10px;
 font-size : 20px;
 z-index : 2000;
 }
 </style>
 <script type="text/javascript">
 window.onload = function () {
 //实例化map对象并加载地图
 var map = new ol.Map({
 //存放地图目标容器
 target: 'map',
 //加载图层
 layers: [
 //新建一个瓦片地图图层
 new ol.layer.Tile({
 //瓦片地图数据源
 source: new ol.source.OSM()
 })
 ],
 //初始化视图
 view: new ol.View({
 //视图中心点坐标
 center: [12550000, 3680000],
 //缩放等级
 zoom: 8,
 //最小缩放等级
 minZoom: 6,
 //最大缩放等级
 maxZoom: 12,
 //地图旋转30度
 rotation: Math.PI/6
 })
 });
 
 //获取地图的初始化信息
 var view = map.getView();
 var zoom = view.getZoom();
 var center = view.getCenter();
 var rotation = view.getRotation();
 
 //地图缩小
 document.getElementById("zoom-out").onclick = function () {
 //获取地图当前视图
 var view = map.getView();
 //获取地图当前缩放等级
 var zoom = view.getZoom();
 //每单击一次地图的缩放等级减一,以实现地图缩小
 view.setZoom(zoom - 1);
 };
 
 //地图放大
 document.getElementById("zoom-in").onclick = function () {
 //获取地图当前视图
 var view = map.getView();
 //获取地图当前缩放等级
 var zoom = view.getZoom();
 //每单击一次地图的缩放等级加一,以实现地图放大
 view.setZoom(zoom + 1);
 };
 
 //地图平移
 document.getElementById("panto").onclick = function () {
 //获取地图当前视图
 var view = map.getView();
 //指定要平移到的位置的坐标
 var position = ol.proj.fromLonLat([115.2341, 32.4652]);
 //重设地图中心点,实现平移
 view.setCenter(position);
 };
 
 //地图重置
 document.getElementById("restore").onclick = function () {
 //重置中心点位置为初始化位置
 view.setCenter(center);
 //重置旋转角度为初始化角度
 view.setRotation(rotation);
 //重置缩放等级为初始化缩放等级
 view.setZoom(zoom);
 };
 }
 </script>
</head>
<body>
 <div id="map">
 <div id="menu">
 <button id="zoom-out">缩小</button>
 <button id="zoom-in">放大</button>
 <button id="panto">平移至...</button>
 <button id="restore">重置</button>
 </div>
 </div>
</body>
</html>

3、运行结果

初始化界面

Openlayers实现地图的基本操作

单击缩小按钮,实现地图缩小

Openlayers实现地图的基本操作

单击放大按钮,实现地图放大

Openlayers实现地图的基本操作

单击平移至按钮,地图平移到指定的位置(阜阳附近)

Openlayers实现地图的基本操作

单击地图右上角的箭头按钮,使地图无旋转

Openlayers实现地图的基本操作

Openlayers实现地图的基本操作

单击重置按钮,地图回到初始状态

Openlayers实现地图的基本操作

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
childNodes.length与children.length的区别
May 14 Javascript
JQuery操作textarea,input,select,checkbox方法
Sep 02 Javascript
利用原生JS自动生成文章标题树的实例
Aug 22 Javascript
jQuery Ajax实现跨域请求
Jan 21 Javascript
web.js.字符串与正则表达式操作
May 13 Javascript
Iscrool下拉刷新功能实现方法(推荐)
Jun 26 Javascript
jquery-file-upload 文件上传带进度条效果
Nov 21 jQuery
简易Vue评论框架的实现(父组件的实现)
Jan 08 Javascript
Vue.js中对css的操作(修改)具体方式详解
Oct 30 Javascript
详解js根据百度地图提供经纬度计算两点距离
May 13 Javascript
jQuery实现的解析本地 XML 文档操作示例
Apr 30 jQuery
vue+echarts实现动态折线图的方法与注意
Sep 01 Javascript
TypeScript 运行时类型检查补充工具
Sep 28 #Javascript
基于openlayers实现角度测量功能
Sep 28 #Javascript
OpenLayer学习之自定义测量控件
Sep 28 #Javascript
Vue中父子组件的值传递与方法传递
Sep 28 #Javascript
JSONObject与JSONArray使用方法解析
Sep 28 #Javascript
OpenLayer3自定义测量控件MeasureTool
Sep 28 #Javascript
Openlayers实现距离面积测量
Sep 28 #Javascript
You might like
FCKeditor添加自定义按钮
2008/03/27 PHP
超级实用的7个PHP代码片段分享
2012/01/05 PHP
ThinkPHP结合ajax、Mysql实现的客户端通信功能代码示例
2014/06/23 PHP
Yii框架上传图片用法总结
2016/03/28 PHP
PHP简单判断手机设备的方法
2016/08/23 PHP
PHP+Ajax异步带进度条上传文件实例
2016/11/01 PHP
PHP实现动态添加XML中数据的方法
2018/03/30 PHP
让iframe自适应高度(支持XHTML,支持FF)
2007/07/24 Javascript
浅谈Javascript数组索引
2015/07/29 Javascript
JS中改变this指向的方法(call和apply、bind)
2016/03/26 Javascript
js实现登录框鼠标拖拽效果
2017/03/09 Javascript
vue中实现图片和文件上传的示例代码
2018/03/16 Javascript
小程序点击图片实现自动播放视频
2020/05/29 Javascript
fetch 如何实现请求数据
2018/12/20 Javascript
html2canvas属性和使用方法以及如何使用html2canvas将HTML内容写入Canvas生成图片
2020/01/12 Javascript
[03:01]2014DOTA2国际邀请赛 DC:我是核弹粉,为Burning和国土祝福
2014/07/13 DOTA
Python 条件判断的缩写方法
2008/09/06 Python
用Python代码来解图片迷宫的方法整理
2015/04/02 Python
Python的Flask框架与数据库连接的教程
2015/04/20 Python
Python正则表达式使用经典实例
2016/06/21 Python
教你用python3根据关键词爬取百度百科的内容
2016/08/18 Python
Python表示矩阵的方法分析
2017/05/26 Python
python使用Tkinter实现在线音乐播放器
2018/01/30 Python
Python二叉搜索树与双向链表转换算法示例
2019/03/02 Python
python实现将文件夹内的每张图片批量分割成多张
2019/07/22 Python
使用python实现CGI环境搭建过程解析
2020/04/28 Python
css3让div随鼠标移动而抖动起来
2014/02/10 HTML / CSS
美国著名童装品牌:OshKosh B’gosh
2016/08/05 全球购物
shell的种类有哪些
2015/04/15 面试题
2014年学校体育工作总结
2014/12/08 职场文书
深度学习小工程练习之垃圾分类详解
2021/04/14 Python
Pyqt5将多个类组合在一个界面显示的完整示例
2021/09/04 Python
javascript的setTimeout()使用方法总结
2021/11/20 Javascript
MySQL七大JOIN的具体使用
2022/02/28 MySQL
Java实现添加条码或二维码到Word文档
2022/06/01 Java/Android
ssh服务器拒绝了密码 请再试一次已解决(亲测有效)
2022/08/14 Servers