javascript – 如何强制传单地图重新加载包括可见的所有图块?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – 如何强制传单地图重新加载包括可见的所有图块?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2073字,纯文字阅读大概需要3分钟。
内容图文
![javascript – 如何强制传单地图重新加载包括可见的所有图块?](/upload/InfoBanner/zyjiaocheng/763/7e28f79fc38f406c80a6b05b4820a9ca.jpg)
我正在制作一个图形网络应用程序,我已经决定传单会产生一个不错的图表视图.我有它显示(有点)但我需要一种方法来强制它更新当用户输入一个新的公式图表.
我也在使用JQuery,但这不重要.这是相关代码:
function formulaChange(formula){
//submits a request to the server to add a graph to display
map.setView(map.getCenter(),map.getZoom(),true);//doesn't work
//and neither does:
//map.fire('viewreset');
//tiles.redraw();
}
function enterHandler(event){
if(event.keyCode==13){
formulaChange(document.getElementById("formula").value);
}
}
var map;
var tiles;
$(document).ready(function(){
map=L.map('plot',{crs:L.CRS.Simple}).setView([0,0],10);
//url is actually a servlet on the server that generates an image on the fly
tiles = L.tileLayer('./GraphTile.png?x={x}&y={y}&z={z}&tilesize={tileSize}&{s}',
{
maxZoom: 20,
continuousWorld: true,
tileSize: 128,
//subdomains used as a random in the URL to prevent caching
subdomains: 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890'
}
).addTo(map);
});
这可以工作,但是当用户点击时不会刷新,事件肯定在运行(我省略了更新文本显示的其他代码).它显示正常,但是当用户添加一个功能来显示视图永远不会更新并且传单继续显示缓存的图像时,只有新的缩放级别或平移到之前从未查看过的区域会导致它更新图块.我的问题是:如何强制传单完全重新加载所有内容并删除并重新加载所有图像?
编辑增加了另一次失败的尝试
解决方法:
我找到了答案.尽管没有缓存标头,我的浏览器仍在缓存图像.子域不是文档声称的“随机选择”,它们是使用tile位置的哈希生成的.所以我不得不即兴创建一种方法来将“& RANDOM ##”添加到URL的末尾而不是子域.
新代码如下所示:
function enterHandler(event){
if(event.keyCode==13){
formulaChange(document.getElementById("formula").value);
}
}
function formulaChange(formula){
val.item=Math.random();
tiles.redraw();
}
var map;
var tiles;
var val={
item: Math.random(),
toString: function(){
return this.item;
}
};
$(document).ready(function(){
map=L.map('plot',{crs:L.CRS.Simple}).setView([0,0],10);
tiles = L.tileLayer('./GraphTile.png?x={x}&y={y}&z={z}&tilesize={tileSize}&{test}',
{
maxZoom: 20,
continuousWorld: true,
tileSize: 128,
test: val
}
).addTo(map);
});
希望这有助于其他人.如果有更好的方法,请评论.
内容总结
以上是互联网集市为您收集整理的javascript – 如何强制传单地图重新加载包括可见的所有图块?全部内容,希望文章能够帮你解决javascript – 如何强制传单地图重新加载包括可见的所有图块?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。