Bing 带有图钉和群集的地图丢失了点击处理程序并且性能不佳

Bing Maps with pins and cluster loses click handler and has bad performance

我有一张 Bing 带有图钉和簇的地图。

我注意到此组合中的性能问题和错误。我设置了 demo using code from the official docs.

第 1 期:图钉点击处理程序在缩放后不再可点击

重现步骤:

  1. 加载上面的演示
  2. 将鼠标悬停在单个粉色图钉上 => 可点击(光标为 hand/pointer)
  3. 点击 + 按钮放大
  4. 一些单独的粉色图钉不再可点击(光标为默认)

第二期:地图初始化时性能很差

这似乎是由 Bing 地图 JavaScript 中的许多 _initiateRequest_setImagedownloadImage 调用引起的。请参阅使用 Firefox 性能工具截取的性能屏幕截图:

如果没有传递 icon 参数,这个性能消耗会下降一半左右,也就是说,在演示中,它被注释掉了,所以只使用默认的 Bing 地图图标:

cluster.setOptions({
  // commenting this out improves performance
  // icon: svg.join(''),
  anchor: new Microsoft.Maps.Point(radius, radius),
  textOffset: new Microsoft.Maps.Point(0, radius - 8)
});

N.B。在演示中 只有集群 具有自定义 icon 设置。如果 所有引脚 都获得自定义 icon 设置,性能会变得 更差 。不管图标是 SVG 还是 PNG,两者的性能都非常糟糕,Bing 地图似乎会触发 DOM 事件,IE11 等旧浏览器甚至会挂起几秒钟。

尝试使用实验分支。添加了大量更新来解决这些问题。您可以通过将“&branch=experimental”添加到地图脚本 URL 来进行尝试。主要发布分支将在接下来的 2 周内与实验分支中的更新一起更新。