使用leaflet在html中加载天地图且去掉左上角的缩放图标以及右下角的logo

前言

  我们这一节使用轻量化的javascript库leaflet来实现在html中加载天地图,实现类似高德地图、百度地图的效果。

  效果图如下:
在这里插入图片描述

  话不多说,进入主题!!

一、注册开发者权限

  我们需要在天地图平台注册一个账号,然后申请成为开发者,我这里申请的是个人开发者,申请流程我就不做演示了。

  天地图平台:https://www.tianditu.gov.cn/

  进入开发者界面:
在这里插入图片描述
  
进入控制台,点击创建新应用:
在这里插入图片描述

  填写对应的信息,点击提交,创建完成:
在这里插入图片描述

  创建完成之后,我们会有一个Key名称,这个就相当于我们的秘钥,要保管好。

二、加载天地图

1、下载leaflet

  leaflet下载地址:https://leafletjs.com/download.html

  进入leaflet官网,下载最新的稳定版代码,如图:
在这里插入图片描述

  下载完成之后,我们只需要保留主要的三个文件即可,images、leaflet.css、leaflet.js,将这三个文件导入我们的项目中,如图:
在这里插入图片描述

2、加载天地图

  1、首先将css和js文件引入html中:

<link rel="stylesheet" href="leaflet.css">
<script src="leaflet.js"></script>

  2、leaflet加载地图和echarts一样,也需要一个带框高的盒子才行,所以我们需要定义一个带宽高的div标签来装载地图,我们需要给div起一个id来唯一标识这个盒子(注意:不能使用class,否则leaflet识别不了):

<style>#map {position: absolute;width: 100%;height: 100vh;left: 0;top: 0;}
</style>
<body>
<div id="map"></div>
</body>

  3、编写js代码加载天地图:

<script>//设置底图const map = L.map("map",{center: [23.82319, 109.02358],  //中心点[纬度,经度]zoom: 6,  //默认缩放等级crs: L.CRS.EPSG4326  //采用wgs84坐标系});//开发keyconst key = "xxxxxx";//xyz方式加载底图const tdt_url_bottom = "https://t0.tianditu.gov.cn/DataServer?T=img_c&x={x}&y={y}&l={z}&tk=";//xyz方式加载底图的标注const tdt_url_label = "https://t0.tianditu.gov.cn/DataServer?T=cia_c&x={x}&y={y}&l={z}&tk=";//设置底图图层(url请求地址,偏移量,贴片尺寸大小,最小缩放等级,最大缩放层级)const layer_bottom = L.tileLayer(tdt_url_bottom + key, {zoomOffset: 1,tileSize: 256,minZoom: 7,maxZoom: 17});//设置底图标注const layer_label = L.tileLayer(tdt_url_label + key, {zoomOffset: 1,tileSize: 256,minZoom: 7,maxZoom: 17});//将图层丢到地图上layer_bottom.addTo(map);layer_label.addTo(map)
</script>

  4、效果如图:
在这里插入图片描述

三、去掉左上角的缩放图标以及右下角的logo

在创建地图时,在option中设置两个属性即可:

const map = L.map("map",{center: [23.82319, 109.02358],  //[纬度,经度]zoom: 6,  //默认缩放层级和layer的最小缩放层级一致crs: L.CRS.EPSG4326,  //坐标系的代码zoomControl: false,  //去掉左上角缩放图标attributionControl: false  //去掉右下角的logo
});

总结

  完成代码如下:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>leaflet加载天地图</title><link rel="stylesheet" href="leaflet.css"><script src="leaflet.js"></script>
</head>
<style>#map {position: absolute;width: 100%;height: 100vh;left: 0;top: 0;}
</style>
<body>
<div id="map"></div>
</body>
<script>//设置底图const map = L.map("map",{center: [23.82319, 109.02358],  //[纬度,经度]zoom: 6,  //默认缩放等级crs: L.CRS.EPSG4326  //wgs84坐标系的代码});//开发keyconst key = "xxxx";//xyz方式加载底图const tdt_url_bottom = "https://t0.tianditu.gov.cn/DataServer?T=img_c&x={x}&y={y}&l={z}&tk=";//xyz方式加载底图标注const tdt_url_label = "https://t0.tianditu.gov.cn/DataServer?T=cia_c&x={x}&y={y}&l={z}&tk=";//设置底图图层(url请求地址,偏移量,贴片尺寸大小,最大缩放层级)const layer_bottom = L.tileLayer(tdt_url_bottom + key, {zoomOffset: 1,tileSize: 256,minZoom: 7,maxZoom: 17});//设置底图标注const layer_label = L.tileLayer(tdt_url_label + key, {zoomOffset: 1,tileSize: 256,minZoom: 7,maxZoom: 17});//将图层丢到地图上layer_bottom.addTo(map);layer_label.addTo(map)
</script>
</html>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/20917.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

STM32 Proteus仿真双路0-20V直流电压表TM1637数码管-0061

STM32 Proteus仿真双路0-20V直流电压表TM1637数码管-0061 Proteus仿真小实验&#xff1a; STM32 Proteus仿真双路0-20V直流电压表TM1637数码管-0061 功能&#xff1a; 硬件组成&#xff1a;STM32F103R6单片机 TM1637 4位数码管驱动电路2路0~20V电压测量模块2个电位器输出0-…

C++数据结构笔记(9)树与二叉树的基本概念

1.只有一个结点也可以称为树&#xff0c;只不过没有叶子结点&#xff1b;也可以有0个结点&#xff0c;称为空树。 2.树具有递归性&#xff0c;树中还有树 3.结点的度&#xff1a;结点所拥有的子树的个数 4.树的高度&#xff1a;树的子树的最高层数 5.树的广义表示法&#x…

离线环境下安装微软Visual Studio 2022 生成工具

1. 前言 最近&#xff0c;在学习cython的时候&#xff0c;需要安装windows下的C/C编译、链接工具。开始觉得传统的msvc太大了&#xff0c;想要尝试Mingw&#xff0c;但是都是编译错误。无奈之下&#xff0c;还是要安装msvc。 微软提供了Visual Studio 2022 Build Tools &…

Redis_安装配置(2)

目录 一、安装redis 1、安装gcc依赖 2、下载并解压安装包 3、编译 4、安装 5、设置全局命令 二、启动redis 1、前台启动 2、后台启动 2.1 修改redis.conf文件 2.2 使用指定配置启动redis 2.3 kill redis的进程 3、开机启动 三、配置redis 远程访问设置 设置密码…

华为开发者大会2023(Cloud)之旅

【摘要】 金鱼哥畅游记&#xff1a;华为开发者大会2023&#xff08;Cloud&#xff09; 2023年7月7日华为开发者大会2023&#xff08;Cloud&#xff09;在广东东莞正式揭开帷幕&#xff0c;金鱼哥很庆幸能有机会参加此次盛大聚会&#xff0c;看到众开发者共聚一堂&#xff0c;在…

如何随机切换代理IP以避免被封禁?

在网络爬虫和数据抓取的领域&#xff0c;使用代理IP技术是非常常见的做法。使用代理IP可以有效地绕过网站的访问限制&#xff0c;提高访问速度和稳定性。然而&#xff0c;如果我们在访问网站时只使用一个代理IP&#xff0c;那么可能会被网站封禁&#xff0c;从而导致访问失败。…

深入解析Android Lifecycle;从基本使用到源码实现,全面掌握生命周期管理

Lifecycle 是 Android Jetpack 中的一个组件&#xff0c;用于管理 Android 应用组件&#xff08;如 Activity 和 Fragment&#xff09;的生命周期。通过使用 Lifecycle&#xff0c;开发者可以更容易地管理组件的生命周期并执行相关的操作。 Lifecycle 提供了一组生命周期事件&…

数据结构(王道)——顺序表的基本操作(插入、删除)

顺序表之实现插入&#xff1a; 插入的基础实现&#xff1a; 更加有健壮性的插入 插入实现的时间复杂度分析&#xff1a; 顺序表之实现删除&#xff1a; 删除的实现 删除实现的时间复杂度分析&#xff1a; 总结&#xff1a;

列表定义状态比较不错的UI写法

<el-table-columnprop"status"label"状态"align"left":formatter"formatTd" ><template slot-scope"scope"><span class"grayStatus" v-if"scope.row.status 1">未开始</span>…

前端vue入门(纯代码)24_Modules

穷不怪父&#xff0c;苦不责妻&#xff0c;方为真男人&#xff01; 【23.Vuex中的模块化和命名空间】 [可以去官网看看Vuex3文档](Module | Vuex (vuejs.org)) 由于使用单一状态树&#xff0c;应用的所有状态会集中到一个比较大的对象。当应用变得非常复杂时&#xff0c;sto…

go-zero微服务实战——服务构建

目录介绍 接上一节go-zero微服务实战——基本环境搭建。搭建好了微服务的基本环境&#xff0c;开始构建整个微服务体系了&#xff0c;将其他服务也搭建起来。 order的目录结构&#xff0c;如下 根目录 api服务rpc服务自定义逻辑层logic自定义参数层models自定义工具层util …

5.带你入门matlab常见分布的期望和方差(matlab程序)

代码及运行结果 %%  二项分布的期望和方差 clear all; n1100; p10.3; [m1,v1]binostat(n1,p1) %100*0.3 100*0.3*0.7 %% %% 均匀分布的期望和方差 clear all; a11; b15; [m1,v1]unifstat(a1,b1) %% 正态分布的期望和方差 clear all; n12; n23; [m1,v1]normstat(n1,n2) %%…