当前位置: 首页 > 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);});},

相关文章:

  • 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
  • 海尔智家一季度营收791亿元:净利润增长15%,海外市场收入增超12%
  • 郭继孚被撤销全国政协委员资格,此前为北京交通发展研究院长
  • 上海74岁老人宜春旅游时救起落水儿童,“小孩在挣扎容不得多想”
  • 昆明破获一起算命破灾诈骗案,民警:大师算不到自己的未来
  • 路边“僵尸车”被人以1450元卖了,嫌疑人被刑拘
  • 外交部:欢迎外国朋友“五一”来中国