【问题标题】:bing maps touch polygone interaction必应地图触摸多边形交互
【发布时间】:2012-11-20 16:40:24
【问题描述】:

我在引用 bing 地图触摸控件 Ajax7 时遇到了一些问题。

我在 bingmaps 界面顶部放置了几个多边形,以显示彩色地理区域形状。现在,每当用户平移地图或放大/缩小地图时,地图上显示的大量多边形都会导致性能滞后。

此代码将多边形推送到地图:

Overlay_Tmp = new Microsoft.Maps.Polygon (region.Shape,region.colortheme);

map.entities.push(Overlay_Tmp);

https://dl.dropbox.com/u/85251516/poly.png

出于这个原因,我决定在用户​​平移/缩放地图时将这些多边形设置为不可见。

应该通过观​​看绑定到 bing 地图的“viewchangestart”/“viewchangeend”事件来进行用户交互,每当通过平移/缩放等更改地图视图时就会触发该事件。

Microsoft.Maps.Events.addHandler(map, 'viewchangestart', VC_START);
Microsoft.Maps.Events.addHandler(map, 'viewchangeend', VC_END);

只要我与空白地图界面交互,这工作正常。 viewchangestart 在平移/缩放地图时触发,viewchangeend 在停止平移/缩放时触发。

另一方面,如果在多边形叠加层中执行相同的操作,它就不会正常工作。 viewchangeend 在 vi​​ewchangestart 之后被立即触发 - 所以整个想法都行不通。

有没有人在多边形覆盖方面遇到过类似的问题,或者对我有更好的想法?

谢谢!

【问题讨论】:

    标签: touch bing-maps


    【解决方案1】:

    事件按预期触发。您可以添加的一个逻辑是计算多边形的边界框(将坐标传递到 locationRect)。然后检查边界框是否与地图的边界框重叠。如果没有,则隐藏地图。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-03-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-22
      • 1970-01-01
      相关资源
      最近更新 更多