У меня были аналогичные требования к http://bluedot.mobi/td. Отложив на мгновение проблему кэширования, создание структуры отображения, которую можно использовать в автономном режиме, довольно сложно - лучшее, что мне известно, это API с открытым исходным кодом OpenLayers .org. Недавно они проделали значительную работу по включению поддержки мобильных устройств. Большие API сопоставления, такие как Google javascript API, ограничивают автономное использование и кэширование.
В настоящее время с OpenLayers проводится определенная работа по использованию localStorage и / или websql. Рабочий пример: здесь . Вы можете перейти к источнику, чтобы увидеть различные методы реализации.
Обратите внимание, что с OpenLayers вы, вероятно, захотите подключиться к стволу SVN, чтобы получить последние разработки. Это быстро движущийся проект.