- PVSM.RU - https://www.pvsm.ru -
Видимо на неделе гугл отключил svn репозитории code.google.com.
Если вы не подключали скрипты, раздаваемые из этих репозиториев, вы могли этого не заметить, как и я.
Меня удивил увеличившийся трафик в репозиторий google-maps-utility-library-v3 [1], но сначала я не понял, почему это может быть. Позже я увидел, что пропали изображения иконок кластеров на карте. Дело в том, что путь до иконок захардкожен в MarkerClusterer и указывает на code.google.com.
Как настроить sprockets раздавать эти картинки, читайте под катом.
Сначала настроим рельсы, подразумевая что у нас уже есть копия google-maps-utility-library-v3 в репозитории. Если у вас её нет, как её можно сделать, будет написано ниже.
Добавьте путь до google-maps-utility-library-v3 в пайплайн (скорее всего, вы это уже сделали):
# config/initializer/assets.rb
Rails.application.config.assets.paths += %W(
#{Rails.root}/vendor/assets/google-maps-utility-library-v3
)
Теперь скажем sprockets, что мы хотим, чтобы он собрал картинки из библиотеки:
# config/initializer/assets.rb
Rails.application.config.assets.precompile += %w(
markerclustererplus/images/*.png
)
Настроим MarkerClusterer использовать наши картинки. Нужно изменить расширение файла с .js.coffe
на .js.coffee.erb
. Мы не будем хардкодить имя хоста, так в девелопменте будут использоваться локальные картинки, и не нужно будет загружать их с продакшн-сайта.
#= require markerclustererplus/src/markerclusterer_packed.js
#= require infobox/src/infobox_packed.js
# ... require anything you want
MarkerClusterer.IMAGE_PATH = <%= (Rails.application.routes.url_helpers.root_url +
'assets/markerclustererplus/images/m').to_json %>
На этом всё. Далее о том, как добавить google-maps-utility-library в ваш репозиторий.
Я использую git подмодули:
git submodule add
https://github.com/printercu/google-maps-utility-library-v3-read-only.git
vendor/assets/google-maps-utility-library-v3
Не забудьте настроить деплой. Добавьте после чекаута:
git submodule init
git submodule sync
git submodule update — init
Теперь всё готово к выкатке.
Вы также можете поискать bower-пакеты или добавить библиотеку в репозиторий целиком, если не хотите использовать подмодули.
Автор: printercu
Источник [2]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/ruby/120650
Ссылки в тексте:
[1] google-maps-utility-library-v3: https://github.com/printercu/google-maps-utility-library-v3-read-only
[2] Источник: https://habrahabr.ru/post/283550/?utm_source=habrahabr&utm_medium=rss&utm_campaign=best
Нажмите здесь для печати.