Vue Mapbox 发布高德瓦片地图

article/2025/7/21 4:05:08

一、需求来源


公司网站开发需求里需要做一个大屏看板,包含地图的功能,而且以后是要在内网使用的,也就是说不能使用在线网络。我在研究了(踩了一万个坑!!!)多个地图组件以后,最终选择了Mapbox。

二、组件介绍/安装/资源准备

1. Mapbox GL JS 是一个 JavaScript 库,它使用 WebGL,以 vector tiles 和 Mapbox styles 为来源,将它们渲染成互动式地图。它是 Mapbox GL 生态系统的一部分,其中还包括 Mapbox Mobile,它是一个用 C++ 编写的兼容桌面和移动平台的渲染引擎。

2. 官网API:http://www.mapbox.cn/mapbox-gl-js/api/

3. vue安装:

npm install --save mapbox-glyarn add mapbox-gl

我安装的版本是

"mapbox-gl": "^2.9.1",

4. 地图资源下载:

能下载地图资源的工具很多,我这是用的http://www.wmksj.com/。如果大家可以白嫖资源的请省略这里看下一步。

这里先勾选地图区域(以北京市为例),右键下载瓦片地图,会有一个弹窗,显示下载坐标(后面会用到),和地图类型、级别(简单来说就是地图清晰度,级别越高越清晰)。

 也可以使用网站的地图瓦片下载工具:
望远网-订制及代写各种python脚本和工具软件订制及代写各种基于python语言的脚本和工具软件。http://www.wmksj.com/script.html

 打开瓦片下载工具下载(这里要充钱了,emmm):
1. 输入账号密码
2. 从网页复制地图坐标到下载器点击粘贴,并点击预览,左边就会跳出级别和瓦片数,勾选你需要的级别
3. 选择电脑的保存路径,选择png,点击下载

 三、功能实现

1. 引入Mapbox
我个人安装的是: "mapbox-gl": "^2.9.1",

npm install --save mapbox-gl
// 或者
yarn add mapbox-gl

2. 页面使用

<template><div><div class="mapBOX" ref="basicMapbox"></div></div>
</template><script>import mapboxgl from 'mapbox-gl';export default {name: "home",data() {return {map}},methods: {// mapboxgl组件获取地图sMap() {let mapStyle = require('../../../static/style.json');//核心配置json文件,放在static下this.map = new mapboxgl.Map({container: this.$refs.basicMapbox,// style: "mapbox://styles/mapbox/streets-v11", // 官网style.json地址style: mapStyle,// 中心点:北京市center: [116.469000,40.251706],zoom: 15, //  当前显示地图级别minZoom: 3, // 最小显示地图级别maxZoom: 15, // 最大显示地图级别fadeDuration: 100,antialias: true,});this.map.on('load', () => {// 地图导航this.map.addControl(new mapboxgl.NavigationControl(), 'top-right');// 比例尺const scale = new mapboxgl.ScaleControl({maxWidth: 80,unit: 'imperial',});});}},mounted() {this.sMap()}
};
</script><style lang="less">
.mapBOX {height: 100vh;width: 100vw;
}
</style>

3. 创建核心style.json配置文件
划重点:"tiles": ["http://ip/file/map/tiles/{z}/{x}/{y}.png"]
这里使用的是服务器静态资源地址,前端项目本地的路径;行不通,无奈之下只能放在服务器上面了。
关于style.json的详细配置请参考:

Mapbox Style 规范 - 初晓之博的个人空间 - OSCHINA - 中文开源技术交流社区Mapbox ( 中文官网 )致力于打造全球最漂亮的个性化地图。 这里记录下其 Web 端 API Mapbox GL JS 的地图样式规范 Style 的各个配置项: 必填项会加上 * ,方便根据目录进行查看 1. version * version:版本号(...https://my.oschina.net/u/3185947/blog/4819218

{"version": 8,"sources": {"raster-tiles": {"type": "raster","tiles": ["http://ip/file/map/tiles/{z}/{x}/{y}.png"],"tileSize": 256,"bounds": [],// 这里分别是西南坐标和东北坐标点,以此形成一个四边形地图"minzoom": 3,"maxzoom": 15,"scheme":"xyz"}},"layers": [{"id": "simple-tiles","type": "raster","source": "raster-tiles","minzoom": 3,"maxzoom": 15}]
}

 使用nginx配置静态资源路径:然后将tiles路径改成指向的tiles文件路径即可:
http://路径/tiles/{z}/{x}/{y}.png

如果遇到图片跨域问题,请参考:
静态资源跨域解决方案_猿小飞的博客-CSDN博客_静态资源跨域Access to font at 'http://static.xxx.com/css/element-ui/fonts/element-icons.woff' from origin 'http://lw.xxx.com' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.这是出现问题的现象nginx静态资源允许跨域访问在.https://blog.csdn.net/u011442726/article/details/119189000

四、其他

当然了,最开始我也尝试过其他的地图组件,比如:

Vue Cesiumvue-cesium online documenthttps://zouyaoji.top/vue-cesium-v2/#/zh/terrain/vc-provider-terrain-cesiumvue Cesum有哔哩哔哩UP主出的视频教程,大家可以参考一下:
【零基础】vue发布离线地图_哔哩哔哩_bilibilivue+cesium发布离线地图。离线地图入门开发教程。一键三连私信我,发送源码!!!, 视频播放量 3122、弹幕量 3、点赞数 96、投硬币枚数 65、收藏人数 221、转发人数 16, 视频作者 麦田里的灯, 作者简介 照亮一片,漆黑一片,相关视频:Cesium打造数字城市快速上手课程【最新Vue3与Vite结合版】,教你如何免费自学Cesium开发,更新必看!如何在Bigemap中添加离线包,以浏览多种地图?,基于Cesium开发的GIS系统,Cesium高速公路视频融合案例,Cesium数字城市 | 北京CBD,Mars3D平台 功能示例Vue版 讲解,cesium编程入门(二)环境搭建,【离线地图开发】如何导入地图数据?,Cesium实时视频监控(RTSP流)气泡+投影融合https://www.bilibili.com/video/BV1i3411h7o1?spm_id_from=333.337.search-card.all.click

还有:
OpenLayers - Welcomehttps://openlayers.org/总之就是路径没对上,┓(;´_`)┏


http://chatgpt.dhexx.cn/article/Pn0oD0XM.shtml

相关文章

瓦片地图的入库

数据: 瓦片地图 数据库: MySQL 语言 : Java 方法: 用Java语言把瓦片地图以二进制的方式导入数据库 瓦片地图的存储格式 当我们用ArcMap切完瓦片之后, 它的存储方式是以级数,行列号的方式存储在文件夹中 级数: 行号: 列号: 一般的存储结构在数据库中存储它的 级数,行号,列…

各种瓦片地图

概述 研究了一阵子的地图&#xff0c;太过深奥了。写了一个小程序&#xff0c;可以下载瓦片地图。下面是各种瓦片图例。 瓦片地图 微软瓦片地图 图1 图2 谷歌瓦片地图 图3 图4 osm瓦片地图 图5 图6 天地图瓦片地图 图7 图8 水瓦片地图 图9 图10 后续 还…

geoserver发布TIF格式瓦片地图

一&#xff0c;准备tif地图 可以通过全能电子地图下载器获取地图&#xff08;软件可以去淘宝下载&#xff09; 二&#xff0c;geoserver发布tif 在geoserver安装文件夹中双击“startup.bat”打开服务&#xff08;注意&#xff1a;为了防止端口占用&#xff0c;我这里更改了默…

Unity 瓦片地图

一些常见的使用类似方法绘制地图的游戏&#xff1a; 泰拉瑞亚&#xff1a; 如果有老哥玩过泰拉瑞亚的地图编辑器&#xff0c;其实unity瓦片地图和泰拉瑞亚地图编辑器手感类似 蔚蓝&#xff1a; 大名鼎鼎的蔚蓝也是如此 Untiy中制作2D俯视角游戏&#xff0c;往往需要使用瓦片地图…

瓦片地图下载工具

收费工具&#xff0c;学生党勿扰&#xff0c;白嫖党勿扰 收费金额&#xff1a;200元 MyChat&#xff1a;wangjianjun1018 瓦片地图下载工具 概述操作查看地图 下载链接说明后续 概述 最近花费一点时间&#xff0c;研究瓦片地图。在网上找了好久&#xff0c;有好多下载的提供商…

百度个性化瓦片地图下载

百度个性化瓦片地图下载 因为近期项目需求&#xff0c;客户项目在内网使用&#xff0c;不连接外网&#xff0c;因此地图不能使用在线地图&#xff0c;必须使用离线地图。 离线地图使用在之前的博客写过&#xff0c;就不在累述了。https://blog.csdn.net/weixin_42776111/arti…

Tilemap瓦片地图

可以用Tilemap工具来构建游戏世界的地图&#xff0c;创建瓦片地图时&#xff0c;Grid组件自动作为瓦片地图的父级,相比于传统使用照片搭建地图的方式&#xff0c;使用瓦片地图用来搭建地图可以更加迅速&#xff0c;而且使用传统方式搭建地图时&#xff0c;需要添加大量的碰撞体…

leaflet加载离线瓦片地图

首先我们要明白瓦片地图的请求原理。 其实瓦片地图并不是什么特殊的文件&#xff0c;就是最普通的png图片。之所以为地图&#xff0c;就是带有了该图片按规则组织&#xff0c;绘制时&#xff0c;按规则拼图组装而已&#xff1b; 打开network&#xff0c;查看其请求的的url就能…

瓦片地图原理

GIS介绍 地理信息系统&#xff08;Geographic Information System或 Geo&#xff0d;Information system&#xff0c;GIS&#xff09;有时又称为“地学信息系统”。它是一种特定的十分重要的空间信息系统。它是在计算机硬、软件系统支持下&#xff0c;对整个或部分地球表层&…

Unity(9)-TileMap瓦片地图

文章目录 前言相关介绍其他介绍上一篇笔记下一篇笔记 一、图片预处理二、创建调色板(TilePalette&#xff09;三、创建瓦片(Tile&#xff09;[1]. 方式一[2]. 方式二 四、修改瓦片(Tile&#xff09;[1]. 参数介绍[2]. 修改Sprite[3]. 修改Color[4]. 修改ColliderType 五、创建瓦…

cocos2d-x瓦片地图制作详解

瓦片地图制作详解 瓦片地图的原理是把图片中的元素进行单位化&#xff0c;将大图片拆成一张张小图块&#xff0c;然后通过组合拼接的方式&#xff0c;重新拼出整个地图。其流程为&#xff1a;项目定好游戏中瓦片的大小&#xff0c;然后美术绘制瓦片并制作成瓦片图集&#xff0c…

Unity学习:瓦片地图

目录 一、tilemap 二、rule tiles 三、rule override tile 四、advanced override tile 五、伪透视图 这里首先给出unity的官方文档&#xff1a; https://docs.unity3d.com/Manual/class-Tilemap.htmlhttps://docs.unity3d.com/Manual/class-Tilemap.html 一、tilemap 创建 创…

GIS理论知识(四)之地图的图层(切片/瓦片)概念

1.图层中数据的分类 在日常使用中&#xff0c;常用的数据有两种即矢量数据和栅格数据&#xff0c;都可直接导入到GIS软件&#xff08;ArcMap,SuperMapIDeskTop,Udig,QGIS&#xff09;中对其作相应的处理。 1.1.矢量数据 矢量数据是利用欧几里德几何学中点、线、面及其组合体…

瓦片地图服务与地图瓦片原理

本文字数&#xff1a;9099字 预计阅读时间&#xff1a;25分钟 这里&#xff0c;首先我们从概念出发&#xff0c;搞清楚瓦片地图服务以及地图瓦片的原理&#xff0c;读起来似乎有点拗口&#xff0c;但是从字面上看得出它们必定拥有着区别与联系&#xff0c;前者是WebGIS中的一个…

【Unity入门计划】基本概念(8)-瓦片地图 TileMap 01

目录 1 TileMap概念 主要思想 优点 创建的层级 2 Unity中的TileMap 2.1 自动父级Grid 网格 2.2 Sprite精灵 2.3 Tile 瓦片 2.4 Tile Palette 调色板 2.5 Brush 笔刷 3 Tilemap Renderer 瓦片地图渲染器 3.1 Sort Order 瓦片排列顺序 3.2 Mode 渲染模式 Chunk 分块…

SDL游戏开发之三-瓦片地图

一.瓦片地图 1&#xff09;瓦片地图简介 瓦片地图(Tiled Map)&#xff0c;又称为瓷砖地图&#xff0c;是在游戏开发中经常使用到的技术&#xff0c;它是由少量的尺寸相同的、小的瓦片图片拼接而成的很大的地图。相对于使用一张张图片来绘制地图而言&#xff0c;瓦片地图不仅大…

瓦片地图是什么鬼

瓦片地图的诞生 地图数据通常体量较大&#xff0c;需要充足的带宽和数据渲染能力。瓦片地图诞生以前&#xff0c;地图多在局域网的桌面软件中使用。互联网的发展&#xff0c;催生了通过浏览器使用地图的需求&#xff0c;于是在1999年&#xff0c;出现了WMS&#xff08;Web Map …

Unity-瓦片地图详解

前言 在学习瓦片地图的使用时&#xff0c;我发现无论国内外还是Unity官方的相关教程都比较散&#xff0c;接触的比较浅&#xff0c;学的我挺难受的&#xff0c;所以就把各个地方看的教程加上我自己的理解&#xff0c;和官方的API手册&#xff0c;总结出了这个详解。 0. 瓦片地…

html2canvas页面截图图片不显示

前两天在一个群里&#xff0c;有人问使用html2canvas屏幕截图的时候为什么页面的图片不显示只显示了文字&#xff0c;我没有做过屏幕截图的需求&#xff0c;所以不是很清楚&#xff0c;今天稍稍测试了一下。 在github上将html2canvas源码下载到本地&#xff0c;examples文件夹…

js如何实现页面截图生成并分享功能,如何向后端传递

通过html2canvas生成分享图片 什么是 html2canvs? html2canvas 的作用就是允许让我们直接在用户浏览器上拍摄网页或其部分的“截图”。它的屏幕截图是基于 DOM 的&#xff0c;因此可能不会 100% 精确到真实的表示&#xff0c;因为它不会生成实际的屏幕截图&#xff0c;而是基…