我试图使用磁贴服务器和地图控件来运行动画雷达动画。代码有效,但速度极慢。
代码(当用户播放动画时)
map.TileSources.Clear();
map.TileSources.Add(new TileSource("example.html/45minutesold");
map.TileSources.Clear();
map.TileSources.Add(new TileSource("example.html/40minutesold");
map.TileSources.Clear();
map.TileSources.Add(new TileSource("example.html/35minutesold");
...这一直持续到达当前时间,然后我再次运行该方法并重复直到用户暂停。 这很好用,问题是map.TileSources.Clear()方法非常慢且无效,而最重要的是,TileSources.Add方法要快得多。
有关如何使其快速实际工作的任何想法?我想将这些图像拼接成一个动画GIF,然后将其添加为一个tilesource,但我不知道该怎么做。我考虑的另一个选择是以某种方式预加载这些数据。
我的瓷砖来源: http://mesonet.agron.iastate.edu/ogc/ 使用示例:
blizzardmap.TileSources.Add(new TileSource("http://mesonet.agron.iastate.edu/cache/tile.py/1.0.0/nexrad-n0q-900913-m05m/{zoomLevel}/{x}/{y}.png?" + DateTime.Now.ToString()));
答案 0 :(得分:1)
我们的MVP之一使用我们的JavaScript地图控件对此进行了大量分析。他写了一篇关于此的5部分系列文章。这些可能会给你一些尝试的想法。
那就是说,我可以看到这在WP上很难实现。在移动设备上加载瓷砖的速度比在网络浏览器中慢。