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代码
Oct 09 Javascript
JavaScript截取字符串的Slice、Substring、Substr函数详解和比较
Mar 20 Javascript
ECMAScript6函数剩余参数(Rest Parameters)
Jun 12 Javascript
Nginx上传文件全部缓存解决方案
Aug 17 Javascript
通过XMLHttpRequest和jQuery实现ajax的几种方式
Aug 28 Javascript
实例解析Array和String方法
Dec 14 Javascript
JavaScript实现Fly Bird小游戏
Dec 15 Javascript
JS+WCF实现进度条实时监测数据加载量的方法详解
Dec 19 Javascript
微信小程序利用canvas 绘制幸运大转盘功能
Jul 06 Javascript
React 无状态组件(Stateless Component) 与高阶组件
Aug 14 Javascript
JS脚本实现定时到网站上签到/签退功能
Apr 22 Javascript
JS canvas实现画板和签字板功能
Feb 23 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
模拟OICQ的实现思路和核心程序(二)
2006/10/09 PHP
WML,Apache,和 PHP 的介绍
2006/10/09 PHP
php 清除网页病毒的方法
2008/12/05 PHP
php和mysql中uft-8中文编码乱码的几种解决办法
2012/04/19 PHP
PHP魔术引号所带来的安全问题分析
2014/07/15 PHP
php实现留言板功能(会话控制)
2017/05/23 PHP
Laravel框架控制器,视图及模型操作图文详解
2019/12/04 PHP
Sample script that deletes a SQL Server database
2007/06/16 Javascript
JS实现控制表格行内容垂直对齐的方法
2015/03/30 Javascript
实现无刷新联动例子汇总
2015/05/20 Javascript
javascript中对变量类型的判断方法
2015/08/09 Javascript
JS密码生成与强度检测完整实例(附demo源码下载)
2016/04/06 Javascript
Bootstrap教程JS插件滚动监听学习笔记分享
2016/05/18 Javascript
基于jQuery实现左侧菜单栏可折叠功能
2016/12/27 Javascript
jQuery层级选择器实例代码
2017/02/06 Javascript
Javascript前端经典的面试题及答案
2017/03/14 Javascript
AngularJS中$http的交互问题
2017/03/29 Javascript
react中使用css的7中方式(最全总结)
2019/02/11 Javascript
Vue中通过Vue.extend动态创建实例的方法
2019/08/13 Javascript
Vue组件通信$attrs、$listeners实现原理解析
2020/09/03 Javascript
vue created钩子函数与mounted钩子函数的用法区别
2020/11/05 Javascript
python实现人脸识别代码
2017/11/08 Python
python GUI库图形界面开发之PyQt5菜单栏控件QMenuBar的详细使用方法与实例
2020/02/28 Python
快速创建python 虚拟环境
2020/11/28 Python
HTML5自定义data-* data(obj)属性和jquery的data()方法的使用
2012/12/13 HTML / CSS
使用 HTML5 Canvas 制作水波纹效果点击图片就会触发
2014/09/15 HTML / CSS
美国在线购买和出售礼品卡网站:EJ Gift Cards
2019/06/09 全球购物
亚洲颇具影响力的男性在线购物零售商:His
2019/11/24 全球购物
Yahoo-PHP面试题3
2012/01/14 面试题
什么是会话Bean
2015/05/14 面试题
营业经理岗位职责
2013/11/10 职场文书
学习全国两会精神心得体会范文
2014/03/17 职场文书
安全生产计划书
2014/05/04 职场文书
就业推荐表自我评价范文
2015/03/02 职场文书
博士导师推荐信
2015/03/25 职场文书
Python函数中的不定长参数相关知识总结
2021/06/24 Python