代码之家  ›  专栏  ›  技术社区  ›  Anil Namde

帮助我了解谷歌地图如何显示图像?

  •  0
  • Anil Namde  · 技术社区  · 14 年前

    当firebugsnet标签打开时,我说要放大和缩小google地图,我发现它正在请求png图片。

    另外,我想知道文本是否被下载,我们把它添加到一些DOM元素中,它就会显示出来。如何访问从ajax检索的图像?

    1 回复  |  直到 14 年前
        1
  •  1
  •   Alex    14 年前

    <img />

    然后,他们使用“onload”和“onerror”事件来检测图像是否正确加载。

    如果图像超时,他们会重试下载。这是通过设置一个计时器来实现的,一旦计时器过期,就重新设置映像的src属性。

    var tile = document.createElement('img');
    var url = 'http://sometilehost/X.Y.Z.png';
    var downloadTimeout = 10000;    // Retry in 10 seconds
    
    // Tile downloaded successfully
    tile.onload = function (e) {
        window.clearTimeout(tile.downloadTimer);
        alert('tile downloaded');
    };
    // The tile couldn't be downloaded. 404, 503 ...
    tile.onerror = function (e) {
        window.clearTimeout(tile.downloadTimer);
        alert('tile not downloaded');
    };
    // This will fire if the tile doesn't download in time
    tile.downloadTimer = window.setTimeout(function () {
        tile.src = url; // Start the download again
    }, downloadTimeout);
    tile.src = url;