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 相关文章推荐
在IE下获取object(ActiveX)的Param的代码
Sep 15 Javascript
解决js下referer兼容各大浏览器的方法
Nov 03 Javascript
javascript折半查找详解
Jan 26 Javascript
Jquery中CSS选择器用法分析
Feb 10 Javascript
JS给按钮添加跳转功能类似a标签
May 30 Javascript
AngularJS实现的生成随机数与猜数字大小功能示例
Dec 25 Javascript
vue绑定的点击事件阻止冒泡的实例
Feb 08 Javascript
vue.js2.0点击获取自己的属性和jquery方法
Feb 23 jQuery
在微信小程序中渲染HTML内容的方法示例
Sep 28 Javascript
Angular7创建项目、组件、服务以及服务的使用
Feb 19 Javascript
JavaScript中的 new 命令
May 22 Javascript
js实现简易拖拽的示例
Oct 26 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用反撇号执行外部命令
2015/04/14 PHP
php使用Session和文件统计在线人数
2015/07/04 PHP
在WordPress中使用wp_count_posts函数来统计文章数量
2016/01/05 PHP
简要剖析PHP的Yii框架的组件化机制的基本知识
2016/03/17 PHP
设定php简写功能的方法
2019/11/28 PHP
用javascript实现页面打印的三种方法
2007/03/05 Javascript
微博@符号的用户名提示效果。(想@到谁?)
2010/11/05 Javascript
Js数组的操作push,pop,shift,unshift等方法详细介绍
2012/12/28 Javascript
浅析ajax请求json数据并用js解析(示例分析)
2013/07/13 Javascript
键盘上一张下一张兼容IE/google/firefox等浏览器
2014/01/28 Javascript
js的Prototype属性解释及常用方法
2014/05/08 Javascript
javascript字母大小写转换的4个函数详解
2014/05/09 Javascript
jquery动态加载js/css文件方法(自写小函数)
2014/10/11 Javascript
javascript中的previousSibling和nextSibling的正确用法
2015/09/16 Javascript
Node.js安装配置图文教程
2017/05/10 Javascript
vue.js如何更改默认端口号8080为指定端口的方法
2017/07/14 Javascript
Vue.js 中的 v-model 指令及绑定表单元素的方法
2018/12/03 Javascript
[01:21:36]CHAOS vs Alliacne 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
Python操作列表之List.insert()方法的使用
2015/05/20 Python
python实现Zabbix-API监控
2018/09/17 Python
Python使用APScheduler实现定时任务过程解析
2019/09/11 Python
python pyecharts 实现一个文件绘制多张图
2020/05/13 Python
Python selenium实现断言3种方法解析
2020/09/08 Python
python中random.randint和random.randrange的区别详解
2020/09/20 Python
Python获取android设备cpu和内存占用情况
2020/11/15 Python
飞利浦西班牙官方网站:Philips西班牙
2020/02/17 全球购物
秘书英文求职信范文
2014/01/31 职场文书
函授毕业自我鉴定
2014/02/04 职场文书
逃课检讨书怎么写
2015/01/01 职场文书
体育活动总结
2015/02/04 职场文书
数学教师个人总结
2015/02/06 职场文书
身份证丢失证明
2015/06/19 职场文书
教师继续教育反思周记
2015/06/25 职场文书
环境卫生标语
2015/08/03 职场文书
超市啤酒狂欢夜策划方案范文!
2019/07/03 职场文书
Python OpenCV 图像平移的实现示例
2021/06/04 Python