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 相关文章推荐
Javascript 不能释放内存.
Sep 07 Javascript
javascript 匿名函数的理解(透彻版)
Jan 28 Javascript
js 刷新页面的代码小结 推荐
Apr 02 Javascript
无闪烁更新网页内容JS实现
Dec 19 Javascript
简介JavaScript中substring()方法的使用
Jun 06 Javascript
JavaScript如何动态创建table表格
Aug 02 Javascript
JS函数arguments数组获得实际传参数个数的实现方法
May 28 Javascript
jQuery EasyUI封装简化操作
Sep 18 Javascript
浅谈jquery页面初始化的4种方式
Nov 27 Javascript
canvas实现图像放大镜
Feb 06 Javascript
bootstrapValidator.min.js表单验证插件
Feb 09 Javascript
JS字符串按逗号和回车分隔的方法
Apr 25 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
用PHP读取IMAP邮件
2006/10/09 PHP
php实现无限级分类实现代码(递归方法)
2011/01/01 PHP
PHP使用CURL获取302跳转后的地址实例
2014/05/04 PHP
PHP PDOStatement::getColumnMeta讲解
2019/02/01 PHP
犀利的js 函数集合
2009/06/11 Javascript
用showModalDialog弹出页面后,提交表单总是弹出一个新窗口
2009/07/18 Javascript
js字符串的各种格式的转换 ToString,Format
2011/08/08 Javascript
JavaScript自动设置IFrame高度的小例子
2013/06/08 Javascript
js验证输入是否为手机号码或电话号码示例
2013/12/30 Javascript
jquery实现弹出层遮罩效果的简单实例
2014/03/03 Javascript
jQuery中的height innerHeight outerHeight区别示例介绍
2014/06/15 Javascript
js和jquery分别验证单选框、复选框、下拉框
2015/12/17 Javascript
JS提示:Uncaught SyntaxError:Unexpected token ) 错误的解决方法
2016/08/19 Javascript
require.js+vue开发微信上传图片组件
2016/10/27 Javascript
谈谈JavaScript中浏览器兼容问题的写法小议
2016/12/17 Javascript
webpack处理 css\less\sass 样式的方法
2017/08/21 Javascript
vue-以文件流-blob-的形式-下载-导出文件操作
2020/08/07 Javascript
Python中pygal绘制雷达图代码分享
2017/12/07 Python
Pandas 对Dataframe结构排序的实现方法
2018/04/10 Python
使用Python写一个量化股票提醒系统
2018/08/22 Python
Python函数装饰器常见使用方法实例详解
2019/03/30 Python
详解python实现数据归一化处理的方式:(0,1)标准化
2019/07/17 Python
python 多进程并行编程 ProcessPoolExecutor的实现
2019/10/11 Python
Python浮点型(float)运算结果不正确的解决方案
2020/09/22 Python
大一学生职业生涯规划
2014/03/11 职场文书
语文高效课堂实施方案
2014/05/03 职场文书
卫生院健康教育实施方案
2014/06/07 职场文书
庆祝教师节演讲稿
2014/09/03 职场文书
群众路线个人对照检查材料
2014/09/23 职场文书
电子商务实训报告总结
2014/11/05 职场文书
2014年妇幼保健工作总结
2014/12/08 职场文书
师德师风学习材料
2014/12/19 职场文书
2015年员工试用期工作总结
2015/05/28 职场文书
2019班干部竞选演讲稿范本!
2019/07/08 职场文书
Nginx 502 Bad Gateway错误原因及解决方案
2021/03/31 Servers
修改Nginx配置返回指定content-type的方法
2022/09/23 Servers