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的超简单上下翻
Apr 20 Javascript
Jquery 表单验证类介绍与实例
Jun 09 Javascript
js 异步操作回调函数如何控制执行顺序
Dec 24 Javascript
jquery实现点击页面计算点击次数
Jan 23 Javascript
jquery对复选框(checkbox)的操作汇总
Jan 13 Javascript
js滚动条平滑移动示例代码
Mar 29 Javascript
详解Jquery EasyUI tree 的异步加载(遍历指定文件夹,根据文件夹内的文件生成tree)
Feb 11 Javascript
js编写简单的聊天室功能
Aug 17 Javascript
JS中Promise函数then的奥秘探究
Jul 30 Javascript
vue组件开发之用户无限添加自定义填写表单的方法
Aug 28 Javascript
基于JavaScript实现贪吃蛇游戏
Mar 16 Javascript
如何正确解决VuePress本地访问出现资源报错404的问题
Dec 03 Vue.js
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
利用递归把多维数组转为一维数组的函数
2006/10/09 PHP
PHP操作XML作为数据库的类
2010/12/19 PHP
Laravel框架学习笔记(一)环境搭建
2014/10/15 PHP
thinkphp框架下实现登录、注册、找回密码功能
2016/04/06 PHP
利用php生成验证码
2017/02/23 PHP
关于Curl在Swoole协程中的解决方案详析
2019/09/12 PHP
Laravel实现ApiToken认证请求
2019/10/14 PHP
Laravel框架控制器,视图及模型操作图文详解
2019/12/04 PHP
对象的类型:本地对象(1)
2006/12/29 Javascript
jQuery 名称冲突的解决方法
2011/04/08 Javascript
JS 获取浏览器和屏幕宽高等信息代码
2014/03/31 Javascript
jQuery实现自动与手动切换的滚动新闻特效代码分享
2015/08/27 Javascript
Node.js+Express配置入门教程详解
2016/05/19 Javascript
jQuery多级联动下拉插件chained用法示例
2016/08/20 Javascript
Jquery表单验证失败后不提交的解决方法
2016/10/18 Javascript
如何实现星星评价(jquery.raty.js插件)
2016/12/21 Javascript
angular学习之从零搭建一个angular4.0项目
2017/07/10 Javascript
Grunt针对静态文件的压缩,版本控制打包的实例讲解
2017/09/29 Javascript
vue实现城市列表选择功能
2018/07/16 Javascript
VUEX-action可以修改state吗
2019/11/19 Javascript
Python中关于字符串对象的一些基础知识
2015/04/08 Python
深入理解Python装饰器
2016/07/27 Python
Python魔法方法功能与用法简介
2019/04/04 Python
Django如何自定义model创建数据库索引的顺序
2019/06/20 Python
基于python plotly交互式图表大全
2019/12/07 Python
pytorch逐元素比较tensor大小实例
2020/01/03 Python
Python argparse模块使用方法解析
2020/02/20 Python
哈萨克斯坦最大的时装、鞋子和配饰在线商店:Lamoda.kz
2019/11/19 全球购物
药学专业大专生的自我评价
2013/12/12 职场文书
幼儿教师工作感言
2014/02/14 职场文书
计算机应届毕业生自荐信范文
2014/02/23 职场文书
三八红旗手先进事迹材料
2014/05/13 职场文书
幼儿园课题实施方案
2014/05/14 职场文书
就职演讲稿范文
2014/05/19 职场文书
班主任工作实习计划
2015/01/16 职场文书
认真学习保证书
2015/02/26 职场文书