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 相关文章推荐
根据分辨率不同,调用不同的css文件
Aug 25 Javascript
JS 添加网页桌面快捷方式的代码详细整理
Dec 27 Javascript
javascript查找字符串中出现最多的字符和次数的小例子
Oct 29 Javascript
js取值中form.all和不加all的区别介绍
Jan 20 Javascript
JS实现模拟风力的雪花飘落效果
May 13 Javascript
如何使用Bootstrap的modal组件自定义alert,confirm和modal对话框
Mar 01 Javascript
几种经典排序算法的JS实现方法
Mar 25 Javascript
Javascript基础_嵌入图像的简单实现
Jun 14 Javascript
Bootstrap学习系列之使用 Bootstrap Typeahead 组件实现百度下拉效果
Jul 07 Javascript
微信小程序文章详情页跳转案例详解
Jul 09 Javascript
微信小程序实现图片压缩
Dec 03 Javascript
Javascript如何实现双指控制图片功能
Feb 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 has encountered an Access Violation
2007/01/15 PHP
mysql_fetch_assoc和mysql_fetch_row的功能加起来就是mysql_fetch_array
2007/01/15 PHP
PHP添加Xdebug扩展的方法
2014/02/12 PHP
wampserver改变默认网站目录的办法
2015/08/05 PHP
jQuery之自动完成组件的深入解析
2013/06/19 Javascript
jQuery判断元素是否存在的可靠方法
2014/05/06 Javascript
node.js中的path.join方法使用说明
2014/12/08 Javascript
js判断文件格式及大小的简单实例(必看)
2016/10/11 Javascript
js运动事件函数详解
2016/10/21 Javascript
vue实现通讯录功能
2018/07/14 Javascript
使用angularjs.foreach时return的问题解决
2018/09/30 Javascript
详解关于element el-button使用$attrs的一个注意要点
2018/11/09 Javascript
Three.js实现3D机房效果
2018/12/30 Javascript
vue如何截取字符串
2019/05/06 Javascript
Layui实现数据表格中鼠标悬浮图片放大效果,离开时恢复原图的方法
2019/09/11 Javascript
vue如何使用async、await实现同步请求
2019/12/09 Javascript
vue+vuex+axios从后台获取数据存入vuex,组件之间共享数据操作
2020/07/31 Javascript
vue组件开发之slider组件使用详解
2020/08/21 Javascript
python实现定制交互式命令行的方法
2014/07/03 Python
python虚拟环境virtualenv的安装与使用
2017/09/21 Python
python 写一个性能测试工具(一)
2020/10/24 Python
python 检测nginx服务邮件报警的脚本
2020/12/31 Python
美国著名的户外用品品牌:L.L.Bean
2018/01/05 全球购物
机械专业毕业生推荐信范文
2013/11/25 职场文书
应用艺术专业个人的自我评价
2014/01/03 职场文书
大学生个人实习的自我评价
2014/02/15 职场文书
小学语文国培感言
2014/03/04 职场文书
2014年社区庆元旦活动方案
2014/03/08 职场文书
工业自动化专业自荐信范文
2014/04/10 职场文书
个人遵守党的政治纪律情况对照检查材料
2014/09/26 职场文书
单方离婚协议书范本2014
2014/10/28 职场文书
关于环保的宣传稿
2015/07/23 职场文书
采购部年度工作总结
2015/08/13 职场文书
CSS 伪元素::marker详解
2021/06/26 HTML / CSS
Python常用配置文件ini、json、yaml读写总结
2021/07/09 Python
详解Anyscript开发指南绕过typescript类型检查
2022/09/23 Javascript