if (allMarker[i].id == this.markerId) { const markerBig = allMarker[i] const iconSize = markerBig.getIcon() console.log(iconSize, 'iconSize') iconSize.setImageSize({ width: 48, height: 48 }) iconSize.setSize({ width: 48, height: 48 }) iconSize.setAnchor({ width: 20, height: 45 }) markerBig.setIcon(iconSize) // const point = new BMapGL.Point(markerBig.latLng.lng, markerBig.latLng.lat) // this.map.centerAndZoom(point, 17) }优化一下
时间: 2024-02-17 13:00:49 浏览: 78
Vue源码中要const _toStr = Object.prototype.toString的原因分析
可能的代码优化包括:
1. 使用 const 或 let 替代 var 定义变量;
2. 将 allMarker[i] 中的重复调用提取到一个变量中,避免重复计算;
3. 将多次调用的函数尽可能提取出来,避免重复调用;
4. 使用对象的解构赋值简化代码;
5. 如果使用了 ES6 或更新版本的 JavaScript,可以使用箭头函数简化代码。
优化后的代码可能如下所示:
```
const marker = allMarker.find(m => m.id === this.markerId);
if (marker) {
const { icon } = marker.getIcon();
const newIcon = {
...icon,
imageSize: new BMapGL.Size(48, 48),
size: new BMapGL.Size(48, 48),
anchor: new BMapGL.Size(20, 45),
};
marker.setIcon(new BMapGL.Icon(newIcon));
}
```
注意,这只是一种可能的优化方式,具体优化方式可能因代码场景而异。
阅读全文