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 相关文章推荐
JavaScript 无符号右移赋值操作
Apr 17 Javascript
JavaScript初学者应注意的七个细节详细介绍
Dec 27 Javascript
javascript得到当前页的来路即前一页地址的方法
Feb 18 Javascript
JavaScript中的数组操作介绍
Dec 30 Javascript
原生javascript实现Tab选项卡切换功能
Jan 12 Javascript
jQuery支持动态参数将函数绑定到事件上的方法
Mar 17 Javascript
JavaScript里四舍五入函数round用法实例
Apr 06 Javascript
AngularJS Select(选择框)使用详解
Jan 18 Javascript
javascript实现简易的计算器
Jan 17 Javascript
vue大型项目之分模块运行/打包的实现
Sep 21 Javascript
小程序自定义圆形进度条
Nov 17 Javascript
原生JS实现pc端轮播图效果
Dec 21 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中如何定义和使用常量
2013/02/28 PHP
php筛选不存在的图片资源
2015/04/28 PHP
php基于Fleaphp框架实现cvs数据导入MySQL的方法
2016/02/23 PHP
PHP自定义函数实现格式化秒的方法
2016/09/14 PHP
php array_values 返回数组的所有值详解及实例
2016/11/12 PHP
laravel5实现微信第三方登录功能
2018/12/06 PHP
PHP基于cookie实现统计在线人数功能示例
2019/01/16 PHP
js 深拷贝函数
2008/12/04 Javascript
Javascript 日期处理之时区问题
2009/10/08 Javascript
js获得鼠标的坐标值的方法
2013/03/13 Javascript
jquery动态增加text元素以及删除文本内容实例代码
2013/07/01 Javascript
一个封装js代码-----展开收起效果示例
2013/07/03 Javascript
jquery修改属性值实例代码(设置属性值)
2014/01/06 Javascript
jQuery 追加元素的方法如append、prepend、before
2014/01/16 Javascript
举例说明JavaScript中的实例对象与原型对象
2016/03/11 Javascript
JS hashMap实例详解
2016/05/26 Javascript
Bootstrap modal使用及点击外部不消失的解决方法
2016/12/13 Javascript
详谈Angular 2+ 的表单(一)之模板驱动型表单
2017/04/25 Javascript
js经验分享 JavaScript反调试技巧
2018/03/10 Javascript
Python中的闭包总结
2014/09/18 Python
Python命令行参数解析模块getopt使用实例
2015/04/13 Python
Python计算三角函数之asin()方法的使用
2015/05/15 Python
python编程测试电脑开启最大线程数实例代码
2018/02/09 Python
win8.1安装Python 2.7版环境图文详解
2019/07/01 Python
Pyorch之numpy与torch之间相互转换方式
2019/12/31 Python
python连接打印机实现打印文档、图片、pdf文件等功能
2020/02/07 Python
浅析HTML5中的download属性使用
2019/03/13 HTML / CSS
AmazeUI中模态框的实现
2020/08/19 HTML / CSS
阿联酋航空丹麦官方网站:Emirates DK
2019/08/25 全球购物
装饰资料员岗位职责
2013/12/30 职场文书
学生出入校管理制度
2014/01/16 职场文书
初中同学聚会感言
2014/02/11 职场文书
欢迎横幅标语
2014/06/17 职场文书
护理目标管理责任书
2014/07/25 职场文书
2014幼儿园保育员工作总结
2014/11/10 职场文书
学习保证书怎么写
2015/02/26 职场文书