Подтвердить что ты не робот

Google Maps v3 - кэширование карты на клиенте?

Я использую API Google Maps JS v3 для проекта. Есть ли способ попросить карту кэшировать плитки на клиентской машине, чтобы при обновлении браузера плитки не нужно было загружать снова?

Многие из моих клиентов находятся в сотовых соединениях, где переназначение карты занимает значительное количество времени.

Спасибо!

4b9b3361

Ответ 1

По умолчанию карты google возвращают кешированные изображения (это можно увидеть на вкладке сети консоли).

enter image description here

Если у пользователя возникли проблемы с кэшированием изображений, возможно, из-за того, что они отключили кеш

Ответ 2

Это действительно возможно с HTML5 и его функцией кэширования. Я бы предложил, чтобы этот вопрос (и ответ) был обновлен.

сами разработчики Google сами решали эту проблему, и, к сожалению, информация не была хорошо распространена.

Обязательные чтения

Техника

  • Вы должны кэшировать каждый URL, используемый Картами Google.
  • Используйте методы для борьбы с методами удержания Chrome и Firefox, удалив их из "автономных веб-сайтов".
  • Все настройки должны быть на стороне клиента в javascript

Ваш файл кэша будет выглядеть (как в штате Миссури):

CACHE MANIFEST
/map/mobile/examples/template.aspx
/map/mobile/examples/template.css
/map/mobile/examples/template.js
NETWORK:
http://maps.gstatic.com/
http://maps.google.com/
http://maps.googleapis.com/
http://mt0.googleapis.com/
http://mt1.googleapis.com/
http://mt2.googleapis.com/
http://mt3.googleapis.com/
http://khm0.googleapis.com/
http://khm1.googleapis.com/
http://cbk0.googleapis.com/
http://cbk1.googleapis.com/
http://www.google-analytics.com/
http://gg.google.com/

Предостережения

Вам нужно быть полностью основанным на HTML5 и распознавать последствия, которые это будет иметь для ваших пользователей. Эта ситуация удобна, когда либо ваши пользователи обновлены по стандартам/устройствам браузера, либо у вас есть контроль над выборами пользователей.

Надеюсь, что это поможет.

Ответ 3

Предыдущий ответ re: функция кэша-манифеста неверна. Если вы прочитали спецификацию в http://www.w3.org/TR/html5/offline.html, в разделе "5.7.3 Синтаксис манифеста кэша" вы увидите, что раздел NETWORK манифеста файл на самом деле перечисляет ресурсы, которые НЕ должны кэшироваться:

# here is a file for the online whitelist -- it isn't cached, and
# references to this file will bypass the cache, always hitting the
# network (or trying to, if the user is offline).
NETWORK:
comm.cgi

В предыдущем плакате на самом деле говорилось:

1) кешируйте следующие файлы:

/map/mobile/examples/template.aspx
/map/mobile/examples/template.css
/map/mobile/examples/template.js

2) выберите из сети следующее:

http://maps.gstatic.com/
http://maps.google.com/
http://maps.googleapis.com/
http://mt0.googleapis.com/
http://mt1.googleapis.com/
http://mt2.googleapis.com/
http://mt3.googleapis.com/
http://khm0.googleapis.com/
http://khm1.googleapis.com/
http://cbk0.googleapis.com/
http://cbk1.googleapis.com/
http://www.google-analytics.com/
http://gg.google.com/