当前位置: 首页 > 知识库问答 >
问题:

在不重新加载地图控件的情况下刷新动画平铺图层

宣原
2023-03-14

我正在使用Bing Maps interactive SDK中的动画雷达层:https://www.Bing.com/api/Maps/sdkrelease/mapcontrol/isdk/weatherradarmap?towww=1&redig=40890db2e2c449ac91dad6cd69209931

我明白瓷砖层是如何分配的。我怎样才能修改它,以便在不重新加载整个页面的情况下(也就是说不重新加载maps控件的情况下),每隔一段时间(比如每15分钟)刷新瓷砖层呢?

到目前为止,我已经将tileSource循环取出到它自己的函数中:

 function addRadarLayer() {
                // alert to mark time when radar data was loaded or refreshed
                // var d = new Date();
                // alert("Updating radar " + d.toLocaleTimeString());
                // alert (map.layers.length);

                for (var i = 0; i < timestamps.length; i++) {
                    var tileSource = new Microsoft.Maps.TileSource({
                        uriConstructor: urlTemplate.replace('{timestamp}', timestamps[i])
                    });
                    tileSources.push(tileSource);
                };


                if (map.layers.length>0) {
                    // alert('clear layer');
                    // map.layers.clear();
                    // alert(map.layers.length);
                    //alert('add layer')
                    map.layers[0].setOptions({ mercator: tileSources, frameRate: 500 });
                } else {
                    var animatedLayer = new Microsoft.Maps.AnimatedTileLayer({ mercator: tileSources, frameRate: 500 });
                    map.layers.insert(animatedLayer);
                    //alert('New tiles');
                };
            };

然后直接调用该函数,然后使用setinterval

                addRadarLayer();

                window.setInterval(function () {
                    addRadarLayer();
                    }, 1000 * 60 * 15); // repeat forever, polling every 15 minutes

            };

共有1个答案

墨安阳
2023-03-14

刷新平铺源时,向URL添加一个随机查询字符串参数,如

?r=1234并在每次刷新时更改值(1234)。这应该通过传递本地缓存,这是您的问题的根本原因。

 类似资料:
  • 问题内容: 如何在不重新启动servlet容器的情况下刷新Spring配置文件? 我正在寻找JRebel以外的解决方案。 问题答案: 对于那些最近在这上面绊脚石的人来说,解决此问题的当前和现代方法是使用Spring Boot的Cloud Config。 只需添加注释你刷新豆类和你的主/配置。 因此,例如,以下Controller类: 在Spring Boot Actuator上(通过HTTP端点或

  • 我有一个kubernetes集群,安装了保险库(通过头盔图表)。 我想将机密从vault填充到pod中的文件(例如nginx),并每5分钟刷新一次机密。 我使用以下配置对其进行了测试(使用适当的vault策略/后端身份验证): namespace.yaml Service_account.yaml nginx-deployment.yaml 当我将此配置应用于kubernetes集群时,将创建部署

  • 我们正在使用JBoss Enterprise Application Platform server(即JBoss EAP 6.1)来开发使用Logback进行日志记录的新web应用程序。我们已经使用JBoss EAP好几个月了,一切都很好。此外,正如您所知,您可以在运行时在JBOSS上部署和取消部署应用程序和配置文件(如mail service.xml),也就是说,无需重新启动服务器。 但是,如

  • 我有一个用户名列表,用户名列表根据用户输入的数量而增加。问题是,当用户输入用户名时,列表会被输入填充,只有当我的页面重新加载时,我的页面才会更新。这是我迄今为止尝试过的代码。 我无法在外页重新加载的情况下更新数据。请建议我如何更新ui:在外页重新加载的情况下重复数据。提前谢谢。

  • 我的javaFX项目中有一辆汽车,当空间被挤压时,汽车(节点)的位置应该改变(汽车应该平滑地跳跃)。所以我使用了一个事件处理程序来调用一个名为< code>moveUp()的方法 这创建了一个新的线程,其中汽车的速度以75毫秒的间隔改变10次。 如果我不使用其他线程,GUI线程将被冻结,如果我不使用Thread.sleep(),汽车将突然跳跃(不顺利)。这段代码做得很好。但是我了解到 并不能保证线

  • 我读了几个类似的问题,这似乎是我能做的最好的。是否可以在dist上启用实时重新加载而无需完全重新启动应用程序? 顺便说一下,我的IDE是IntelliJ。我开始怀疑IntelliJ是否需要排除dist目录。如果是这样的话我会跟进的。