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 相关文章推荐
jquery插件珍藏(图片局部放大/信息提示框)
Jan 08 Javascript
node.js中的fs.createReadStream方法使用说明
Dec 17 Javascript
JavaScript三元运算符的多种使用技巧
Apr 16 Javascript
JS模拟bootstrap下拉菜单效果实例
Jun 17 Javascript
JavaScript中object和Object的区别(详解)
Feb 27 Javascript
浅析node应用的timing-attack安全漏洞
Feb 28 Javascript
vue vue-Router默认hash模式修改为history需要做的修改详解
Sep 13 Javascript
JS使用数组实现的队列功能示例
Mar 04 Javascript
JS中实现一个下载进度条及播放进度条的代码
Jun 10 Javascript
vue使用混入定义全局变量、函数、筛选器的实例代码
Jul 29 Javascript
layui输入框中只允许输入整数的实现方法
Sep 18 Javascript
Openlayers绘制地图标注
Sep 28 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开发框架总结收藏
2008/04/24 PHP
php cookie 登录验证示例代码
2009/03/16 PHP
基于PHP读取TXT文件向数据库导入海量数据的方法
2013/04/23 PHP
php操作MongoDB基础教程(连接、新增、修改、删除、查询)
2014/03/25 PHP
PHP echo()函数讲解
2019/02/15 PHP
php设计模式之观察者模式实例详解【星际争霸游戏案例】
2020/03/30 PHP
js 页面刷新location.reload和location.replace的区别小结
2009/12/24 Javascript
动态加载图片路径 保持JavaScript控件的相对独立性
2010/09/06 Javascript
用简洁的jQuery方法toggleClass实现隔行换色
2014/10/22 Javascript
JS遍历数组及打印数组实例分析
2016/01/21 Javascript
基于Angularjs+mybatis实现二级评论系统(仿简书)
2017/02/13 Javascript
Bootstrap的popover(弹出框)2秒后定时消失的实现代码
2017/02/27 Javascript
node使用UEditor富文本编辑器的方法实例
2017/07/11 Javascript
基于vue,vue-router, vuex及addRoutes进行权限控制问题
2018/05/02 Javascript
最后说说Vue2 SSR 的 Cookies 问题
2018/05/25 Javascript
彻底揭秘keep-alive原理(小结)
2019/05/05 Javascript
vue实现跳转接口push 转场动画示例
2019/11/01 Javascript
vue scroll滚动判断的实现(是否滚动到底部、滚动方向、滚动节流、获取滚动区域dom元素)
2020/06/11 Javascript
vue项目里面引用svg文件并给svg里面的元素赋值
2020/08/17 Javascript
[02:32]DOTA2亚洲邀请赛 C9战队出场宣传片
2015/02/07 DOTA
Python连接PostgreSQL数据库的方法
2016/11/28 Python
Python+selenium点击网页上指定坐标的实例
2019/07/05 Python
Python assert语句的简单使用示例
2019/07/28 Python
Python 类的魔法属性用法实例分析
2019/11/21 Python
Python搭建HTTP服务过程图解
2019/12/14 Python
python读取tif图片时保留其16bit的编码格式实例
2020/01/13 Python
Python用K-means聚类算法进行客户分群的实现
2020/08/23 Python
草莓网中国:StrawberryNet中国
2020/08/17 全球购物
过程装备与控制工程专业个人的求职信
2013/12/01 职场文书
毕业论文评语大全
2014/04/29 职场文书
医院领导班子四风对照检查材料
2014/09/27 职场文书
2014年技术工作总结范文
2014/11/20 职场文书
勤俭节约倡议书范文
2015/04/29 职场文书
高效笔记技巧分享:学会这些让你不再困扰
2019/09/04 职场文书
关于maven依赖 ${xxx.version}报错问题
2022/01/18 Java/Android
源码分析Redis中 set 和 sorted set 的使用方法
2022/03/22 Redis