我有一个大约300-500个属性的网格,它已经实现了集群。此网格允许人们使用不同的类型标记属性'当这些'类型'更改我更新地图中的图标(如果它不在群集中或根据所选内容隐藏它),还更新群集以显示每个群集中的活动项目数。
地图中的所有内容都会按预期更新,但有时我必须稍微移动地图以获取更新以使其刷新。我没有任何关于mousemove或类似事件的事件(只需点击并右键点击)。如果我点击所有疯狂而不移动地图,则不会发生任何刷新,只有当地图点击时才会发生。拖着走了。
这个功能本身并不太慢,因为我把它放在那里几分钟没有发生任何事情,如果我设置它然后摇晃ASAP它按预期更新。是否有手动触发地图刷新的功能?分析表示即使更新所有项目也只需要500ms左右。
一般来说,这就是我将项目设置为不可见的方式。
pin.setOptions({ visible: false, icon: '' });
这就是我将项目设置为可见的方式
var normal = icons.normal[type];
pin.setOptions({ visible: true, icon: normal.data, anchor: new Microsoft.Maps.Point(normal.width / 2, normal.height / 2) });
答案 0 :(得分:0)
您是否尝试完全移除引脚并创建新引脚或是否有很大的性能影响?
如果使用
设置任何地图选项yourmap.setView({zoom:currentZoomMethod()});
例如,地图' viewchangestart'事件被解雇了。我的想法是该元素不知道它已经变异并且需要更新。我会在你更新你的图钉时检查是否发生了这个事件。