项目场景:
提示:这里简述项目相关背景:
一个lbs地图,地图打点
问题描述
提示:这里描述项目中遇到的问题:
最近在做一个LBS地图,修改前端页面图钉,后打包到服务器,发现没有生效。
原因分析:
提示:这里填写问题的分析:
例如:Handler
发送消息有两种方式,分别是 Handler.obtainMessage()
和 Handler.sendMessage()
,其中 obtainMessage
方式当数据量过大时,由于 MessageQuene
大小也有限,所以当 message
处理不及时时,会造成先传的数据被覆盖,进而导致数据丢失。
解决方案:
提示:引用静态资源时加上时间戳,处理浏览器缓存问题
markerData = data.data.res ;
if(markerData.length > 0){
var arr = [];
markerData.forEach((item) => {
preIcon = new AMap.Icon({
image:'images/smallicon.png?t=20231008',
size: new AMap.Size(30, 37), //图标大小
imageSize: new AMap.Size(30, 37),
//位置
});
例如:为图像地址添加了一个时间戳参数,这通常是一种有效的方法,可以确保浏览器不会使用缓存的图像版本,而是始终请求服务器上的最新版本。
也可以用下面的方法来设置时间戳
image: 'images/smallicon.png?t=' + new Date().getTime(),
这会在图像地址后附加一个当前的时间戳,以确保每次请求都是唯一的,从而避免浏览器缓存问题。