可执行示例一个,如下:
<!DOCTYPE html>
<html>
<head> <title>Layers Control Tutorial - Leaflet</title> <meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <link rel="shortcut icon" type="image/x-icon" href="docs/images/favicon.ico" /> <link rel="stylesheet" href="https://unpkg.com/leaflet@1.6.0/dist/leaflet.css" integrity="sha512-xwE/Az9zrjBIphAcBb3F6JVqxf46+CDLwfLMHloNu6KEQCAWi6HcDUbeOfBIptF7tcCzusKFjFw2yuvEpDL9wQ==" crossorigin=""/>
<script src="https://unpkg.com/leaflet@1.6.0/dist/leaflet.js" integrity="sha512-gZwIG9x3wUXg2hdXF6+rVkLF/0Vi9U8D2Ntg4Ga5I5BZpVkVxlJWbSQtXPSiUTtC0TjtGOmxa1AJPuV0CPthew==" crossorigin=""></script> <style>
html, body {
height: 100%;
margin: 0;
}
#map {
width: 1000px;
height: 700px;
}
</style> </head>
<body> <div id='map'></div> <script>
//地图marker数组
var markers=[]; var marker1 =L.marker([39.61, -105.02]).bindPopup('This is Littleton, CO.');
var marker2 =L.marker([39.74, -104.99]).bindPopup('This is Denver, CO.');
var marker3 =L.marker([39.73, -104.8]).bindPopup('This is Aurora, CO.');
var marker4 =L.marker([39.77, -105.23]).bindPopup('This is Golden, CO.'); markers.push(marker1);
markers.push(marker2);
markers.push(marker3);
markers.push(marker4); //利用marker数组构建marker图层
var citiesLayer = L.layerGroup(markers); //利用切片地图服务地址,创建图层
var grayscaleLayer= L.tileLayer('http://map.geoq.cn/ArcGIS/rest/services/ChinaOnlineCommunity/MapServer/tile/{z}/{y}/{x}',
{id: 'map11'});
var streetsLayer = L.tileLayer('http://map.geoq.cn/ArcGIS/rest/services/ChinaOnlineStreetPurplishBlue/MapServer/tile/{z}/{y}/{x}',
{id: 'map12'}); //1、基础地图
var baseLayers = {
"Grayscale": grayscaleLayer,
"Streets": streetsLayer
}; //1、业务图层
var overLayers = {
"Cities": citiesLayer
}; var map = L.map('map', {
minZoom: 5,
maxZoom: 12,
center: [39.73, -104.99],
zoom: 10,
layers: [grayscaleLayer, citiesLayer],//默认显示的图层
//zoomDelta: 0.5,//点击+-按钮的放缩刻度尺度,默认值1
//zoomSnap: 0.5,//地图能放缩的zoom的最小刻度尺度,默认值1
fullscreenControl: false,//全屏控件,不显示
zoomControl: false,//放大缩小控件,不显示
attributionControl: false//右下角属性控件,不显示
}); //map的图层控件
var layerControl=L.control.layers(baseLayers, overLayers);
map.addControl(layerControl); //单个图层,也可以通过,map,addLayer()来添加 //map.setView([36.045, 103.83333], 15);//切换地图视野范围
//和setView类似,但是flyTo会带一个平滑的动画
//map.flyTo([36.045, 103.83333], 15,{ animate: true, duration: 0.2 });
//map.setZoom(0); </script> </body>
</html>

leaflet 基本案例-图层控件:基础图层+业务图层的更多相关文章

  1. leaflet-webpack 入门开发系列四图层控件样式优化篇(附源码下载)

    前言 leaflet-webpack 入门开发系列环境知识点了解: node 安装包下载webpack 打包管理工具需要依赖 node 环境,所以 node 安装包必须安装,上面链接是官网下载地址 w ...

  2. OpenLayers 3 之 切换图层控件

    OpenLayers 3 之 切换图层控件 openlayers 3中并没有默认的图层切换控件,GitHub中有一个项目实现了我们需要的控件-------- ol3-layerswitcher . 可 ...

  3. Delphi XE2 之 FireMonkey 入门(37) - 控件基础: TControl 概览

    Delphi XE2 之 FireMonkey 入门(37) - 控件基础: TControl 概览 { TControl } public   constructor Create(...); ov ...

  4. Delphi XE2 之 FireMonkey 入门(36) - 控件基础: TForm

    Delphi XE2 之 FireMonkey 入门(36) - 控件基础: TForm 当我第一次读取 Form1.StyleLookup 并期待出现 "formstyle" 时 ...

  5. 重新想象 Windows 8 Store Apps (17) - 控件基础: Measure, Arrange, GeneralTransform, VisualTree

    原文:重新想象 Windows 8 Store Apps (17) - 控件基础: Measure, Arrange, GeneralTransform, VisualTree [源码下载] 重新想象 ...

  6. 重新想象 Windows 8 Store Apps (16) - 控件基础: 依赖属性, 附加属性, 控件的继承关系, 路由事件和命中测试

    原文:重新想象 Windows 8 Store Apps (16) - 控件基础: 依赖属性, 附加属性, 控件的继承关系, 路由事件和命中测试 [源码下载] 重新想象 Windows 8 Store ...

  7. Delphi XE2 之 FireMonkey 入门(44) - 控件基础: TTreeView、TTreeViewItem

    Delphi XE2 之 FireMonkey 入门(44) - 控件基础: TTreeView.TTreeViewItem TScrollBox -> TCustomTreeView -> ...

  8. Delphi XE2 之 FireMonkey 入门(43) - 控件基础: TStringGrid、TGrid

    Delphi XE2 之 FireMonkey 入门(43) - 控件基础: TStringGrid.TGrid TStringGrid.TGrid 都是从 TCustomGrid 继承; 区别有:1 ...

  9. Delphi XE2 之 FireMonkey 入门(42) - 控件基础: TComboBox、TComboEdit

    Delphi XE2 之 FireMonkey 入门(42) - 控件基础: TComboBox.TComboEdit TListBox 有两个兄弟 TComboListBox.TComboEditL ...

  10. Delphi XE2 之 FireMonkey 入门(41) - 控件基础: TListBox

    Delphi XE2 之 FireMonkey 入门(41) - 控件基础: TListBox TScrollBox -> TCustomListBox -> TListBox; 其元素项 ...

随机推荐

  1. Avalonia的模板控件(Templated Controls)

    在Avalonia的UI框架中,TemplatedControl是一个核心组件,它提供了一种强大的方式来创建可重用且高度可定制的控件. 本文将深入探讨TemplatedControl的概念.其带来的优 ...

  2. 从零开始写 Docker(十)---实现 mydocker logs 查看容器日志

    本文为从零开始写 Docker 系列第十篇,实现类似 docker logs 的功能,使得我们能够查查看容器日志. 完整代码见:https://github.com/lixd/mydocker 欢迎 ...

  3. C#使用PaddleOCR进行图片文字识别✨

    PaddlePaddle介绍 PaddlePaddle(飞桨)是百度开发的深度学习平台,旨在为开发者提供全面.灵活的工具集,用于构建.训练和部署各种深度学习模型.它具有开放源代码.高度灵活性.可扩展性 ...

  4. oracle database recover database (下篇)

    1. recover database 恢复级别一共三个:recover database > recover tablespace > recover datafile ,最高级别 da ...

  5. Mysql系列:Mysql5.7编译安装--系统环境:Centos7 / CentOS9 Stream

    Mysql系列:Mysql5.7编译安装 系统环境:Centos7 / CentOS9 Stream 1:下载mysql源码包 https://dev.mysql.com/downloads/mysq ...

  6. 【转】CentOS安装VMware Tools

    [转]CentOS安装VMware Tools VMware 是非常好的虚拟机软件.如果系统安装了VMware Tools以后对虚拟机的性能会提升很多的.下面是如果在CentOS系统内安装VMware ...

  7. mysql 必知必会整理—安全管理[十七]

    前言 简单介绍一下安全管理. 正文 MySQL服务器的安全基础是:用户应该对他们需要的数据具有适当的访问权,既不能多也不能少. 换句话说,用户不能对过多的数据具有过多的访问权. 多数用户只需要对表进行 ...

  8. Scratch3自定义积木块之新增积木块

    在Scratch3.0的二次开发中,新功能的研发和扩展离不开积木块的添加,这篇主要讲解Scratch3.0中新增积木块部分 Scratch3.0中对于新增积木块有两种方式: 1. 初始化积木块方式   ...

  9. InnoDB常用锁总结(行锁、间隙锁、临键锁、表锁)

    相关文章 数据库系列:MySQL慢查询分析和性能优化 数据库系列:MySQL索引优化总结(综合版) 数据库系列:高并发下的数据字段变更 数据库系列:覆盖索引和规避回表 数据库系列:数据库高可用及无损扩 ...

  10. sweetviz工具避坑和简单使用

    网上关于sweetviz的文章比较少,有些坑这里说一下给大家避坑. 使用sweetviz遇到的错误如下: KeyError: "None of ['index'] are in the co ...