OpenLayers实现地图缩放与全图导航控件

作者:小满

时间:2026-10-23

浏览:170

本文介绍如何在OpenLayers中实现地图的放大、缩小及全图查看功能。通过引入ol.js和ol.css,创建地图容器并配置ZoomSlider与ZoomToExtent控件,实现拖动滑块缩放及点击图标定位指定范围。

文章目录

OpenLayers实现地图缩放与全图导航控件

本文分享了OpenLayers中加载缩放控件的具体代码示例,供读者参考。

常规地图应用通常包含放大、缩小及全图显示的导航条,以方便用户浏览地图。接下来将演示如何在OpenLayers中实现该功能。

在已创建的空白站点目录下新建HTML页面,引入ol.js和ol.css文件,并在body标签内创建一个div元素作为地图加载容器。

具体代码实现如下。


<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
 <title>加载并显示OSM地图</title>
 <link href="../css/ol.css" rel="stylesheet" />
 <script src="../lib/ol/ol.js"></script>
 <style type="text/css">
  #map .ol-zoomslider
  {
   background-color : transparent;
   top : 2.3em;
  }
  
  #map .ol-zoom-extent 
  { 
   top: 280px;
  }
 </style>
  <script type="text/javascript">
   window.onload = function () {
    //实例化map对象并加载地图
    //使用Openlayers初始化一幅地图时,target、layers和view不可少
    var map = new ol.Map({
     //地图容器div的id
     target: 'map',
     //在地图容器中加载的图层
     layers: [
      //加载瓦片数据
      new ol.layer.Tile({
       //瓦片的数据源
       source: new ol.source.OSM()
      })
     ],
     //地图视图设置
     view: new ol.View({
      //地图中心点
      center: [0, 0],
      //地图初始显示级别
      zoom: 2
     })
    });
 
    //实例化ZoomSlider控件
    var zoomslider = new ol.control.ZoomSlider();
    //加载ZoomSlider控件到地图容器中
    map.addControl(zoomslider);
 
    //实例化ZoomToExtent
    var zoomToExtent = new ol.control.ZoomToExtent({
     extent: [
      //Todo 这个范围应该怎么确定
      13100000, 4290000,
      13200000, 5210000
     ]
    });
    //加载ZoomToExtent到map中
    map.addControl(zoomToExtent);
   }
   
 </script>
</head>
<body>
 <div id="map"></div>
</body>
</html>

运行结果展示。

打开地图后,可以看到界面上出现了放大、缩小以及全图显示的导航条组件。

OpenLayers实现地图缩放与全图导航控件

通过拖动中间的滑块即可实现地图的放大与缩小操作;单击全图图标(E)可直接将地图定位至之前设置的Extent属性所指定的北京附近坐标范围。

OpenLayers实现地图缩放与全图导航控件

以上就是本文的全部内容,希望能为读者的学习提供有益帮助,也欢迎大家继续支持本站。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章