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 相关文章推荐
一款js和css代码压缩工具[附JAVA环境配置方法]
Apr 16 Javascript
Jquey拖拽控件Draggable使用方法(asp.net环境)
Sep 28 Javascript
Jquery仿淘宝京东多条件筛选可自行结合ajax加载示例
Aug 28 Javascript
Jquery幻灯片特效代码分享--鼠标点击按钮时切换(1)
Aug 15 Javascript
vue watch普通监听和深度监听实例详解(数组和对象)
Aug 16 Javascript
微信小程序实现联动选择器
Feb 15 Javascript
vue+iview动态渲染表格详解
Mar 19 Javascript
vue实现手机号码的校验实例代码(防抖函数的应用场景)
Sep 05 Javascript
layui禁用侧边导航栏点击事件的解决方法
Sep 25 Javascript
node.js 微信开发之定时获取access_token
Feb 07 Javascript
element中el-container容器与div布局区分详解
May 13 Javascript
详解TypeScript的基础类型
Feb 18 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
本地计算机无法启动Apache故障处理
2014/08/08 PHP
PHP屏蔽过滤指定关键字的方法
2014/11/03 PHP
php中类和对象:静态属性、静态方法
2017/04/09 PHP
jQuery 性能优化手册 推荐
2010/02/23 Javascript
jQuery html() in Firefox (uses .innerHTML) ignores DOM changes
2010/03/05 Javascript
javascript基础第一章 JavaScript与用户端
2010/07/22 Javascript
wap手机端解决返回上一页的js实例
2016/12/08 Javascript
JavaScript字符串对象(string)基本用法示例
2017/01/18 Javascript
写jQuery插件时的注意点
2017/02/20 Javascript
vuejs开发组件分享之H5图片上传、压缩及拍照旋转的问题处理
2017/03/06 Javascript
js判断用户是输入的地址请求的路径(实例讲解)
2017/07/18 Javascript
vue 路由嵌套高亮问题的解决方法
2018/05/17 Javascript
对layui中表单元素的使用详解
2018/08/15 Javascript
Vue项目查看当前使用的elementUI版本的方法
2018/09/27 Javascript
js实现unicode码字符串与utf8字节数据互转详解
2019/03/21 Javascript
一百行JS代码实现一个校验工具
2019/04/30 Javascript
七行JSON代码把你的网站变成移动应用过程详解
2019/07/09 Javascript
layui点击按钮页面会自动刷新的解决方案
2019/10/25 Javascript
vue动态渲染svg、添加点击事件的实现
2020/03/13 Javascript
Centos Python2 升级到Python3的简单实现
2016/06/21 Python
Python+matplotlib实现华丽的文本框演示代码
2018/01/22 Python
pandas数据预处理之dataframe的groupby操作方法
2018/04/13 Python
分享8个非常流行的 Python 可视化工具包
2019/06/05 Python
python requests更换代理适用于IP频率限制的方法
2019/08/21 Python
解决Python import docx出错DLL load failed的问题
2020/02/13 Python
Pyecharts 动态地图 geo()和map()的安装与用法详解
2020/03/25 Python
Python实现猜年龄游戏代码实例
2020/03/25 Python
python实现四人制扑克牌游戏
2020/04/22 Python
使用CSS3来匹配横屏竖屏的简单方法
2015/08/04 HTML / CSS
德国大型箱包和皮具商店:Koffer
2019/10/01 全球购物
波兰在线杂货店:Polski Koszyk
2019/11/02 全球购物
教师党员公开承诺事项
2014/05/28 职场文书
群众路线教育实践活动思想汇报(2014特荐篇)
2014/09/16 职场文书
法院答辩状格式
2015/05/22 职场文书
二审代理词范文
2015/05/25 职场文书
JavaScript parseInt0.0000005打印5原理解析
2022/07/23 Javascript