2015-06-19 3 views
1

Я новичок в веб-разработке. Я нашел эту сеть, http://digitalarchive.mcmaster.ca/islandora/object/macrepo:66896. Изображение карты на самом деле около 1 ГБ. Я действительно хочу знать, как они могут это сделать. Кажется, браузер запрашивает небольшую часть изображения, когда я увеличиваю или панорамирую карту. Но я понятия не имею, как это сделать. Может ли кто-нибудь предложить мне какое-то ключевое слово для изучения? действительно спасибо !!., показывая БОЛЬШОЕ изображение с html

+0

Проверить прогрессивное улучшение, поток bufferring может быть? –

+0

Реализация, которую они используют, называется OpenSeadragon https://openseadragon.github.io/ – bro

+0

Это карта плиток. Каждый плит самостоятельно загружается браузером. Там должны существовать плитки для каждого уровня масштабирования и для каждой зоны, которую вы хотите загрузить. – ssice

ответ

1

Они нарезали изображение в квадратных частях, называемых плитки.

enter image description here

Каждая плитка имеет метаданные, связанные с ним, что-то вроде индекса и на каком уровне увеличения его следует использовать.

Плитки обналичены слоями в зависимости от масштаба. При перемещении по изображению вы отправляете на сервер вашего ограничивающего параллелепипеда (координаты изображения, которые вы видите, называемый также BBOX) Используя эту информацию, сервер вычисляет, что плитки должно принести вам:

Network profiler

На сайте, на котором вы показывали каждый запрос для изображения, заканчивается примерно так: svc.region=6144%2C12288%2C256%2C256&svc.level=4 В котором указано ограничивающее поле (svc.region) и масштабирование (svc.level)

Более продвинутый сервер, способный это сделать (но специализируется на геоданных): geoserver

А для visialization взять взглянуть на openlayers

Также хорошее объяснение вы можете найти here

Кредиты для изображения www.mapbox.com

+1

Кроме того, есть причина, по которой они разбивают большие изображения. Некоторые браузеры ограничивают размер изображения в браузерах, например [Ограничения ресурсов iOS] (https://developer.apple.com/library/safari/documentation/AppleApplications/Reference/SafariWebContent/CreatingContentforSafarioniPhone/CreatingContentforSafarioniPhone.html#//apple_ref/doc/uid/TP40006482-SW15), а для карт есть и другие причины: вам не нужны все плитки сразу, вам нужны плитки в различных разрешениях, легко редактировать и т. д. – skobaljic

Смежные вопросы