当前位置: 首页 > news >正文

高德地图线上截图瓦片地图加载不完全

问题描述:

后端在线上服务器调用前端截图地址,截到的图总是出现瓦片地图未加载完全或者是地图还没有居中的时候截到不完整的图片。如下:

解决办法:

出现这种现象的原因有很多,服务器带宽太低,或者是网速不好加载不完全,由于官方没有提供瓦片加载完成的api,所以只能尽可能的避免,首先截图改为前端来截图,截完图后调用图片上传接口发送给后端,在绘制完图层后加等待时延(3s)左右,由于每次截图后端请求都是打开一个新的浏览器,所以为了避免加载地图的时间,截图路径由原本的一次带一个参数改为一次带多个参数,前端遍历入参依次截图,这样基本能避免由于地图初始化导致的瓦片地图加载不完整的情况。不过缺点就是并没有完全避免,比如第一张就报错,或者是网速真的太差,前几张还是会出现加载不完全的情况。

关键代码:

	// 循环请求
async loopQuery() {for (let key = 0; key < this.parmasArr.length; key++) {await this.getMapPoint(this.parmasArr[key]);await this.renderFinish(this.parmasArr[key]);}},//获取地图覆盖物数据async getMapPoint(key) {let params = {key};let res = await getPoint(params);if (res.code == 200) {this.legndParams = res.threshold;let regions = [];if (res.region) {regions = res.region.map(item => {let point = GPS.gcj_encrypt(item.latitude, item.longitude);return {Longitude: point.lon,Latitude: point.lat};});} let points = [];if (res.points) {points = res.points.map(item => {let point = GPS.gcj_encrypt(item.latitude, item.longitude);return {Longitude: point.lon,Latitude: point.lat,value: item.value,CMCC: 1};});} await this.$refs.utilMap.drawPolygon(regions, "#0f89f5", 0);console.log("多边形绘制完成");await this.$refs.utilMap.drawPluginPoint([this.legndParams], points);console.log("轨迹点绘制完成");return new Promise(resolve => {resolve();});}},async renderFinish(key) {return new Promise(resolve => {setTimeout(async () => {console.log('开始截图');//发送图片给后台let file = await this.$refs.utilMap.cutCustomizeImg();// this.downloadImage(file);let form = new FormData();form.append("file", file);form.append("param", key);await saveImage(form);resolve();}, 2000);});},

http://www.dtcms.com/a/164152.html

相关文章:

  • 4月29日星期二今日早报简报微语报早读
  • dify升级最新版本(保留已创建内容)
  • 黑马Redis(四)
  • 基于非递归求解的汉诺塔超级计算机堆栈与数据区设计方案
  • 13.继承、重载、重写、多态、抽象类、接口、final、Static的学习
  • Kubernetes Label 和 Selector新手入门学习
  • 【Axure高保真原型】动态地图路线
  • 考研408-计算机组成原理冲刺考点(4-5章)
  • SpringSecurity+JWT
  • C语言 | C语言入门基础之指针详解,编程技巧、规则、注意事项、易出问题、问题如何解决
  • Windows 桌面个性高效组件工具
  • Java—— 四道算法经典题
  • AI与软件测试的未来:如何利用智能自动化改变测试流程
  • 设计模式(工厂模式)
  • VUE篇之树形特殊篇
  • 探寻软件稳定性的奥秘
  • 【最新 MCP 战神手册 09】利用资源和提示增强上下文
  • 【记录】Python调用大模型(以Deepseek和Qwen为例)
  • 使用 np.zeros_like(label) 保存预测概率时发现数据类型不匹配导致的隐式类型转换
  • 局域网视频会议软件BeeWorks Meet
  • 软考高项(信息系统项目管理师)第 4 版全章节核心考点解析(力扬老师课程精华版)
  • MES系列-ISO95 IEC/ISO 62264
  • 推荐系统中 Label 回收机制之【时间窗口设计】
  • Agent开源工具:mcp快速接入,mcp-use上手指南
  • 极客天成参与”AI助力智慧城市构建”主题演讲暨招商引智专题推介活动
  • 哈希表笔记(一 )
  • 使用C# ASP.NET创建一个可以由服务端推送信息至客户端的WEB应用(一)
  • 简单音频比较
  • 信息科技伦理与道德3-4:面临挑战
  • 前端与后端开发详解:从概念到就业技能指南