Клуб API Карт

Локальный кэш

borodenkov.s
2 декабря 2011, 14:08

Можно ли как-нибудь настроить выдачу тайлов с локального сервера или из кэша браузера(примерно как в мобильных картах)? Всё это нужно для экономии трафика. Разрабатывается система в которой активно используются Яндекс-карты, но использоватся всё это будет там где не очень хороший интернет.

7 комментариев
Подписаться на комментарии к посту

тайлы и так кешируются броузером

Это понятно. Но для мобильных карт тайлы можно скачать в структуированном виде положить в нужное место и всё будет работать. Нужно нечто подобное. К примеру на флешку закачивается кэш с картами, потом копируем на машину и выдача тайлов идет из локального источника. Можно, наверное, скопировать кэш браузера, но может быть существуют более "правильный" способ?

Правильный, относительно законный, способ - использовать кеширующий прокси.

Так чтобы при отсуствии интернета выдавал данные из кеша (там правда не все так просто).

Вы лучше в начале подумайте как вы подключите АПИ без интернета.

Быть может лучше посмотреть в сторону MapKit? (или SaSGis)

Интернет есть. Но плохой. Всё это для минимизации трафика.

MapKit и SaSGis не подойдут, т.к. у нас всё происходит в браузере.

Королев Михаил
2 декабря 2011, 19:35

можно написать и расположить на своём сервере кэширующий прокси-скрипт и действовать тогда всё будет как тех самых мобильных картах.

то есть создаёте пользовательскую карту и пусть она смотрит на  собственный источник данных  YMaps.TileDataSource (ваш скрипт)
http://api.yandex.ru/maps/jsapi/doc/ref/reference/tiledatasource.xml

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

Спасибо. Буду думать в этом направлении.