【HMWeb】HTML使用Leaflet实现本地离线地图Gis应用

下载Leaflet

官网下载:https://leafletjs.com/reference.html

CSDN:https://download.csdn.net/download/hmxm6/89291989

选择版本号

添加html文件

加入代码

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>test</title>

    <!-- 引入 文件 -->
    <link rel="stylesheet" href="leaflet.css" />
    <link rel="stylesheet" href="img.css" />
    <script src="leaflet.js"></script>
    <!-- 增加地图高度 -->
    <style>
        html,body,#view{
            width: 100%;
            height: 100%;
            overflow-y: hidden;
            overflow-x: hidden;
            display: flex;
        }

        #mapDiv { 
            width: 100%;
            height: 100%; 
            position: fixed;
            left: 0;
            top: 0;
        }
    </style>
</head>
<body>
    <div id="View">
        <div id="mapDiv"></div>
    </div>
</body>
<script>
    let map = L.map("mapDiv", {
        minZoom: 10,
        maxZoom: 17,
        center: [36.635712, 120.768945],
        zoom: 13,
        zoomDelta: 0.5,
        fullscreenControl: false,
        zoomControl: false,
        attributionControl: false
    });

    var MarkArray = new Array(); // 地图点数组
    var MarkArrayTimeOut;
    var ClickBZMessage = null;


    let url = "http://webrd0{s}.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=8&x={x}&y={y}&z={z}";
    
    this.baseLayer=L.tileLayer(url,{
        attribution: '',
        minZoom: 10,
        maxZoom: 17,
        subdomains: "1234"
    });

    this.map.addLayer(this.baseLayer);

    L.control.zoom();


</script>
</html>

其中map里面

minZoom: 最小缩放

maxZoom: 最大缩放

center: 地图初始点

下载离线地图

下载软件

https://download.csdn.net/download/hmxm6/89292287

打开软件,设置下载地图类型和位置

选择层级,选择地图存放路径,点击下载

然后把地图地址替换成下载的地址

url = ".../map/{z}/{x}/{y}/tile.png";

打开浏览器就可以看到地图了

相关推荐
bearpping6 小时前
Nginx 配置:alias 和 root 的区别
前端·javascript·nginx
@大迁世界7 小时前
07.React 中的 createRoot 方法是什么?它具体如何运作?
前端·javascript·react.js·前端框架·ecmascript
January12077 小时前
VBen Admin Select 选择框选中后仍然显示校验错误提示的解决方案
前端·vben
. . . . .7 小时前
前端测试框架:Vitest
前端
xiaotao1317 小时前
什么是 Tailwind CSS
前端·css·css3
战南诚8 小时前
VUE中,keep-alive组件与钩子函数的生命周期
前端·vue.js
发现一只大呆瓜8 小时前
React-彻底搞懂 Redux:从单向数据流到 useReducer 的终极抉择
前端·react.js·面试
霍理迪9 小时前
Vue的响应式和生命周期
前端·javascript·vue.js
李剑一9 小时前
别再瞎写了!Cesium 模型 360° 环绕,4 套源码全公开,项目直接用
前端