Помогите мне понять, как карты Google показывают изображения? - PullRequest
0 голосов
/ 19 июня 2010

Открыв вкладку firebugs net, я объявил о приближении и уменьшении карты Google, и обнаружил, что она делает запросы на изображения png.

Хорошо, я понял, что мы можем запрашивать изображения с помощью Ajax.но ждать ?Я всегда использовал для запроса HTML, JSOX, TXT и XML.Изображение ........ это странно для меня?Кто-нибудь может уточнить это?

Также я хотел бы знать, если текст загружен, мы добавляем его в некоторый элемент DOM, и он появляется.Как можно получить доступ к изображениям, повторенным из ajax?

Любая помощь или указатель будет отличной помощью:)

1 Ответ

1 голос
/ 21 июня 2010

GMaps не выполняет XMLHttpRequests для получения изображений. Вместо этого они используют обычный элемент <img />, который вводится через JavaScript.

Затем они используют события «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;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...