huiyan-fe / mapv

a library of geography visualization-地理信息可视化库
http://mapv.baidu.com
BSD 3-Clause "New" or "Revised" License
2.58k stars 787 forks source link

地图拖动后,在部分电脑的浏览器上,边缘部分的图标刷新不掉 #197

Open xiaodao-2019 opened 5 years ago

xiaodao-2019 commented 5 years ago

地图拖动后,在部分电脑的浏览器上,边缘部分的图标刷新不掉

xiaodao-2019 commented 5 years ago

xiaodao-2019 commented 5 years ago

@sakitam-fdd

sakitam-fdd commented 5 years ago

@xiaodao-2019 为嘛@我 :joy:, 你给个最小示例或者 codepen 我看下

xiaodao-2019 commented 5 years ago

@sakitam-fdd 不好意思@错人了,代码是按官方文档上一样的。就是在部分电脑上(mac,win7都试过)会出现这种情况,同版本浏览器在大部分电脑上是没有出现这种问题

sakitam-fdd commented 5 years ago

@xiaodao-2019 我的意思是可复现代码以及数据写个示例看一下,不然没办法定位问题。

xiaodao-2019 commented 5 years ago

@sakitam-fdd 问题很难定位,我在我电脑上也没有重现这个问题,代码是一样的,而且我试了下在虚拟机装了同版本的系统及浏览器没有重现问题。

xiaodao-2019 commented 5 years ago

` <!DOCTYPE html>

` 放到服务器上就会出现这个情况,放在本地就没问题

xiaodao-2019 commented 5 years ago

@sakitam-fdd @hinikai

xiaodao-2019 commented 5 years ago

问题已解决,浏览器缩放到90%引起的,

xianshenglu commented 4 years ago

问题已解决,浏览器缩放到90%引起的,

如果用户就是要缩放到 90% 呢?

xianshenglu commented 4 years ago

重现步骤:

  1. 将浏览器缩放到 80%
  2. 打开 官网 demo
  3. 左右来回拖动地图,不少于 3下

预期:

正常渲染

结果:

出现残影

image

即使 1,2 顺序对调,也仍然会出现这种问题

系统:

临时解决方案

var {width,height}=map.getContainer().getBoundingClientRect()
Object.assign(map.getContainer().getElementsByTagName('canvas')[0],{width,height})
x101046 commented 3 years ago

var {width,height}=map.getContainer().getBoundingClientRect() Object.assign(map.getContainer().getElementsByTagName('canvas')[0],{width,height})

这个方法不行,会让绑定的事件错位