使用产品:SuperMap REST 地图服务底图
操作系统:win10 x64 edge
问题描述以及问题重现步骤:
1. 地图上加载一个图标
2. 一秒钟移动20次位置,持续一段时间
3. 浏览器后台频繁提示
Canvas2D: Multiple readback operations using getImageData are faster with the willReadFrequently attribute set to true. See: https://html.spec.whatwg.org/multipage/canvas.html#concept-canvas-will-read-frequently
4. 连续移动几秒后,图标移动频率降低到大约1次/秒,重新缩放地图,则再次恢复移动速度到 20次/秒
有没有办法取消掉后台这个警告?以及解决一秒内多次移动的问题
问题补充:
请求的是这个地址:
'https://iserver.supermap.io/iserver/services/map-china400/rest/maps/China'
const url = (window.isLocal ? window.server : 'https://iserver.supermap.io') + '/iserver/services/map-china400/rest/maps/China'
window.map = new ol.Map({
target: 'map2d-box',
controls: ol.control.defaults(
{
attributionOptions: {
collapsed: false
}
}),
view: new ol.View({
center: ol.proj.fromLonLat([113.5, 32.5]),
zoom: 3.1,
projection: 'EPSG:3857',
multiWorld: true
})
})
1秒钟移动20次指的是:我这边有个物体移动轨迹,一秒钟给20个位置坐标,然后我把这个物体用图标表示在地图上。移动物体图标代码:
setInterval(() => {
const feature = layer.getSource().getFeatureById(id)// 这个是那个物体的feature
feature.getGeometry().setCoordinates(fromLonLat(location)) // 这个是物体的新的位置
}, 50);
我不知道我表述清楚没有,有些词我不明白是啥意思,我直接给你上代码吧
库我用的是iclient-ol, 开发的时候参照 openlayers.org
和这个问题不相关的疑问:
链接: openlayers 在地图上绘制矩形框,非鼠标框选