当前位置: 首页 > 编程笔记 >

Openlayers实现地图的基本操作

华萧迟
2023-03-14
本文向大家介绍Openlayers实现地图的基本操作,包括了Openlayers实现地图的基本操作的使用技巧和注意事项,需要的朋友参考一下

本文实例为大家分享了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、运行结果

初始化界面

单击缩小按钮,实现地图缩小

单击放大按钮,实现地图放大

单击平移至按钮,地图平移到指定的位置(阜阳附近)

单击地图右上角的箭头按钮,使地图无旋转

单击重置按钮,地图回到初始状态

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。

 类似资料:
  • 本文向大家介绍Android百度地图应用之基本地图功能实现,包括了Android百度地图应用之基本地图功能实现的使用技巧和注意事项,需要的朋友参考一下 一、简介  1、地图  地图展示:普通地图(2D,3D)、卫星图和实时交通图。  地图操作:可通过接口或手势控制来实现地图的点击、双击、长按、缩放、平移、旋转、改变视角等操作。  2、地图类型 百度地图Android SDK 3.6.1提供了两种类

  • 本文向大家介绍Java单链表基本操作的实现,包括了Java单链表基本操作的实现的使用技巧和注意事项,需要的朋友参考一下 最近被问到链表,是一个朋友和我讨论Java的时候说的。说实话,我学习编程的近一年时间里,学到的东西还是挺少的。语言是学了Java和C#,关于Web的学了一点Html+css+javascript。因为比较偏好,学习WinForm时比较认真,数据库操作也自己有所研究。但链表这个东西

  • 目标 学会: 访问像素值并修改它们 访问图像属性 设置感兴趣区域(ROI) 分割和合并图像 本节中的几乎所有操作都主要与Numpy相关,而不是与OpenCV相关。要使用OpenCV编写更好的优化代码,需要Numpy的丰富知识。 (由于大多数示例都是单行代码,因此示例将在Python终端中显示) 访问和修改像素值 让我们先加载彩色图像: >>> import numpy as np >>> impo

  • 本文向大家介绍基于openlayers实现角度测量功能,包括了基于openlayers实现角度测量功能的使用技巧和注意事项,需要的朋友参考一下 基于openlayers的测量功能,官网提供了长度测量和角度测量,但是没有角度测量,在此写一下基于openlayers的角度测量功能,主要方法如下: 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

  • 本文向大家介绍Java实现弹窗效果的基本操作,包括了Java实现弹窗效果的基本操作的使用技巧和注意事项,需要的朋友参考一下 本文为大家分享了Java实现弹窗效果的具体代码,供大家参考,具体内容如下 1、任务简介 本博客介绍两种Java弹窗操作的方法,第一个种是通过弹出对话框显示用户输入的信息,第二种是通过用户输入数字的不同打开不同的程序。 2、弹出对话框的操作 1)任务内容 编程实现一个命令窗程序

  • 目标 获取像素的值并更改它们 获取图像属性 设置感兴趣的区域(Region of Interest,ROI) 分割和合并图像 几乎所有这些操作都和 Numpy 相关而和 OpenCV 没什么关系。精通 Numpy 对于写高度优化的 OpenCV 代码是必要的。 (例子将使用 Python 控制台,因为它们中大多数程序都只是一行代码) 获取和更改像素的值 让我们先读取一个彩色图片: >>> impo