Как вероятно уже многие знают, последнее обновление Google Maps (версии 7.0) для Android удаляет прямую возможность кеширования участка карты для дальнейшего использования без подключения к интернету.

По непонятной причине в Google эту «фичу» решили пока скрыть подальше от пользовательских глаз — причём даже с некоторой иронией, намекающей на новый продукт компании.

Теперь, если вы решили обновиться до актуальной версии, загрузить оффлайн карту можно, если в строке поиска указать ключевую фразу «OK Maps» или произнести тоже самое для поиска голосом. После этого карты будут доступны и без сети.

Автор: Lucky Рубрики: Программы

Информация в данной статье устарела, новая информация здесь

Многие видели программу Google Earth ( Google Планета Земля ), многим она нравится, у нее есть очень много плюсов, но есть и минусы. И, наверное, один из самых существенных из программы нельзя экспортировать спутниковый снимок с хорошим разрешением достаточно большой территории. Но если очень хочется, то можно!

Итак, поставим перед собой задачу: создать спутниковый снимок нужного нам района, например, спутниковую карту Москвы . Хотя можно и не мелочиться, а сразу составить спутниковую карту России или даже спутниковую карту Мира, но мы не будем заниматься такими глобальными делами, а поставим перед собой более простую задачу сделать спутниковую карту Саратова.

Все необходимые нам программы мы можем скачать отсюда одним архивом, либо вытянуть их с официальных сайтов.

Для этого нам понадобиться программа Google Earth ( Google Планета Земля ), скачать которую вы можете с сайта: earth.google.com

Скачав и установим эту программу мы можем посмотреть на спутниковые снимки различных городов Мира, рассмотреть улицы и дома… Но мы немного ушли от темы. Насмотревшись мы решили сохранить выбранный участок местности, чтобы рассмотреть его позже оффлайн. Заходим в Меню: Файл -> Сохранить -> Сохранить изображение, сохраняем, но как оказалось не такой и большой участок в хорошем разрешении мы можем сохранить. Жаль конечно, но нормальные герои всегда идут в обход, и мы пойдем другим путем…

Скачиваем программу GoogleMV с сайта разработчика: http://silber2004.narod.ru/travel.htm

Программа GoogleMV уступает по функциональности программе Google Earth ( Google Планета Земля ), но с другой стороны по нашей проблеме она нам может помочь.

Программа GoogleMV предназначена для более удобной работы с сервисом http://maps.google.com где собраны спутниковые фото всей земной поверхности.

Читаем на сайте описание этой программы:

Бесплатная версия программы умеет: кэшировать однажды закачанные изображения для последующего просмотра оффлайн; склеивать изображения любого масштаба, размера и сохранять их в jpg-файле; создавать файл координатной привязки с целью использования спутниковых фотографий в качестве карт в программе OziExplorer.

Зарегистрированная версия программы, кроме измерения расстояний без ограничений и привязки фотографий в программах Mapinfo, ArcGis, SeeYou, теперь умеет избегать блокирования сервером Google Вашего IP, что позволяет выкачивать без задержек большие территории.

Регистрация стоит 300 рублей, произвести оплату можно с помощью системы Яндекс-деньги.

Для постоянного использования эту программу стоит купить, но у нас задача разовая. После небольшого тестирования этой программы мы нарываемся на бан со стороны Google и не можем более получать спутниковые изображения для склейки в единую карту. Обойти бан можно с помощью прокси-серверов, но мы пойдем другим путем…

С помощью этой программы мы можем достать данные из Кэша программы Google Earth ( Google Планета Земля )

Пользоваться программой очень просто:

Нам нужно будем извлекать картинки в с именами в виде ‘qrst.jpg’ в формате кеша программы GoogleMV.

  1. Запускаем программу GE_jpg_extractor.exe
  2. Выбираем и открываем Кэш файл “dbCache.dat”.
  3. Выбираем папку для сохранения картинок
  4. Ставим галочку: “Для кэша GoogleMV (имена файлов ‘qrst’)”
  5. Нажимаем кнопку [Извлечь картинки]

После извлечения спутниковых снимков таким способом, мы эти снимки запихиваем в Кэш GoogleMV и уже с помощью GoogleMV создаем спутниковую карту.

  1. Запускаем программу GoogleMV (Бросается в глаза немного не та проекция, но позже мы это исправим)
  2. Перемещаемся по карте в нужное нам место
  3. Нажимаем значек Выделить
  4. Выделяем нужную нам область
  5. Выбираем необходимый уровень увеличения, процент сжатия jpg и нажимаем Выполнить
  6. В открывшемся окне Параметры выбираем Склеить выделенный фрагмент, только кэш, только снимок
  7. Жмем ОК

через пару мгновений или минут спутниковая карта склеена.

Но после создания карты, мы обнаруживаем, что получившийся снимок не в той проекции, хотя может кому то нужен именно такой. Я решил эту проблему достаточно просто: Увеличил высоту получившегося изображения на 162%.

В SuiteCRM интегрированы модули, позволяющие геокодировать адреса, введённые в систему и отображать полученные данные на картах Google. Также возможно отображение произвольных участков карт и меток.

Поддерживается геокодирование адресов, содержащихся в следующих модулях: Контакты, Контрагенты, Предварит. контакты, Сделки, Встречи, Адресаты, Обращения и Проекты.

Карты

Для работы с модулем карт в системе должен быть установлен ключ Google Maps API, как это описано в разделе Настройка карт Google.

Модуль позволяет отобразить на карте присутствующие в SuiteCRM адресные данные. На карте отображаются объекты, расположенные на указанном удалении от центральной точки. Для создания карты в меню модуля выберите пункт Добавить новую карту.

На странице введите следующую информацию:

Укажите название создаваемой карты

Показать На карте адрес (центр)

Выберите запись, адрес которой будет центром круга. В дальнейшем на карте будут отображены объекты, находящиеся на площади круга.

Отображать на карте объекты

Выберите объекты, которые будут отображаться на карте. Объект могут быть только одного типа, например Контакты, Контрагенты и т.д.

Единицы измерения расстояния

Выберите необходимую единицу измерения.

Отображать объекты, находящиеся в радиусе

Отображение объектов в указанном радиусе круга.

Введите имя ответственного за сделку. По умолчанию ответственным являетесь вы. Для назначения другого пользователя нажмите кнопку и из появившегося списка выберите желаемого пользователя.

Введите короткое описание создаваемой карты.

При необходимости вы можете добавить отображённые объекты в тот или иной список адресатов, воспользовавшись соответствующей кнопкой, расположенной в нижней части карты под списком отображённых адресов.

Отображение произвольного адреса на карте

При необходимости на карте могут быть отображены объекты, не привязанные к центральной точке, адрес которой уже есть в базе системы. Можно указать произвольный адрес, после чего система произведёт его геокодирование и покажет все однотипные объекты в указанном радиусе. Для этого в меню модуля Карты выберите пункт Отобразить объекты, заполните необходимые поля и нажмите кнопку Запустить.

Отображение участка карты в дашлете

При необходимости произвольные участки карт могут быть отображены в дашлетах. Для этого:

Воспользуйтесь функцией Отобразить объекты как это описано выше.

В нижней части отображённой карты появится ссылка вида IFrame:URL — скопируйте её адрес через контекстное меню браузера.

Перейдите на основную закладку SuiteCRM и нажмите на кнопку Добавить дашлет.

На закладке Веб окна настроек дашлета вставьте только что скопированную ссылку и нажмите кнопку Добавить.

Для полного отображения участка карты рекомендуется в параметрах созданного дашлета задать высоту окна не менее 600 пикселей.

Метки

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

В меню модуля Метки выберите пункт Добавить метку. Также метку можно добавить на ранее созданную карту, воспользовавшись субпанелью Метки в Форме просмотра карты.

Из списка меток выберите подходящую и разместите её на карте. При перемещении метки по карте автоматически определяются её географические координаты и ориентировочный адрес расположения.

Заполните необходимые поля и нажмите на кнопку Сохранить.

Участки карт

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

В меню модуля Участки карт выберите пункт Создать участок. Также участок можно добавить на ранее созданную карту, воспользовавшись субпанелью Участки карт в Форме просмотра карты.

На выбранном участке карты поставьте метки, для завершения создания участка нажмите на первой установленной метке. При необходимости площадь созданного участка можно изменить, перемещая метки участка по карте, при этом автоматически определяются их географические координаты. Воспользуйтесь кнопкой Сбросить, если необходимо создать участок заново.

По окончании создания участка нажмите на кнопку Использовать координаты участка карты.

Заполните необходимые поля и нажмите на кнопку Сохранить.

Кэш адресов

При большом количестве записей в системе геокодирование адресов может занять продолжительное время. Поэтому все геокодированные данные сохраняются в отдельном кэше и при следующем геокодировании обрабатываются лишь адреса, отсутствующие в кэше. Модуль предназначен для просмотра/изменения кэша геокодированных адресов.

Процесс геокодирования может быть настроен администратором SuiteCRM и детально описан в разделе Геокодирование адресов. Здесь же при необходимости может быть осуществлён импорт геокодированных адресов, выполненный во внешнем приложении. Для этого в меню действий модуля выберите пункт Импорт и следуйте указаниям мастера импорта.

Управление записями в модулях карт

В модулях карт вы можете выполнять следующие действия:

Сортировка списка записей, для этого нажмите на значок в заголовке сортируемого столбца, для обратной сортировки нажмите на значок ещё раз.

Добавление записи в избранное – после чего пользователь получает возможность быстрого доступа к наиболее важной для него информации. За дополнительной информацией обратитесь к разделу Избранное.

Редактирование или удаление информации сразу о нескольких записях, для этого используйте панель массового обновления.

Экспорт записей, для этого в меню над выбранными записями выберите пункт Экспортировать.

Просмотр детальной информации о записи, для этого нажмите на названии записи в общем списке.

Редактирование данных, для этого либо в Форме просмотра нажмите на кнопку Править, либо непосредственно в Форме списка нажмите на кнопку слева от редактируемой записи. Вы также можете выполнить быструю правку.

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

Удаление записи, для этого нажмите на кнопку Удалить.

Отслеживание изменений введённой информации, для этого нажмите на кнопку Просмотр журнала изменений в форме просмотра. Если в журнале необходимо изменить перечень контролируемых полей — сделайте это в Студии, настроив параметр Аудит соответствующего поля.

Программа для создания карт для java-приложения MapNav называется — Map Creator (MapNavEditor, в простонародье – эдитор). Map Creator сам по себе позволяет скачивать и склеивать онлайн-карты из таких источников как: Google, VirtualEarth, OpenStreetMap. Но что делать если Вам приглянулась другая онлайн-карта? К сожалению, возможности добавить дополнительный онлайн-источник в Map Creator крайне ограничены. Но не нужно отчаиваться, есть такая замечательная программа как Sas.Planet. В настоящее время с помощью Sas.Planet можно выкачать почти любую онлайн-карту. Итак, что же делать для того чтобы скачанная SAS.Планетой карта, стала картой для навигационной программы MapNav (Мобильный навигатор карт)?

Переписывать мануал Sas.Планеты у меня нет никакого желания, так что будем считать, что Вы «в курсе». Те кто «не в курсе» идут сюда — sasgis.org/wikisasiya/doku.php и читают. Итак продолжим…

Способ первый: В программе Sas.Planet выделяем интересующий Вас участок карты (область, город, и т.п.). Выделение может быть как прямоугольное, так и полигональное. В открывшемся окне на вкладке «Загрузить» выбираете тип и масштаб карты которую собираетесь выкачать, и не забудьте сохранить выделение в отдельный файл типа *. .hlg (оно вам ещё пригодится). Нажимаем «Начать» (или нАчать?).

Проделываем эту процедуру для всех нужных Вам масштабов. Теперь выделение Вы можете загружать из сохранённого вами файла. Выкачав карту, можно двигаться дальше. Загружаем сохранённое выделение. В открывшемся окне переходим на вкладку «Скопировать», ставим галочки на типе карты, которую Вы выкачали и галочки на нужных масштабах. Выбираем экспорт выделенного участка в формат GoogleMV, указываем куда сохранить. Жмём «Начать».

Идём в папку куда сохранили Ваш кэш, переименовываем папку кэша в MAP,если тайлы карты имеют расширение *.png (и в SUR, если тайлы карты имеют расширение *. jpg). Переименованную папку копируем, например, в папку mapnaveditor_59CacheVE. Далее, запускаем Map Creator build 59, на вкладке «Map» выбираем тип карты VirtualEarth Map (ну, или VirtualEarth Surface, если тайлы карты имеют расширение *. Jpg), переходим на координаты и масштаб вашей будущей карты. Видим карту. Нажимаем кнопочку «set on map», мышью выделяем нужный Вам участок карты, в окне «map zoom» выбираем масштаб, ниже нажимаем на + , видим добавленную карту в окне. Меняем масштаб в окне «map zoom», нажимаем на +… И так для каждого слоя (масштаба) карты. И наконец, жмём на «Compile map», указываем путь для сохранения карты MapNav. Всё, можете загружать карту в MapNav (Мобильный навигатор карт).

Второй способ: Однако, есть некоторые онлайн-карты с которыми описанный выше способ не работает (вернее работает некорректно). Например, карты Yandex… Оные карты в качестве модели Земли используют эллипсоид (в отличии от гуглеподобных карт, используюших сфероид). Не вдаваясь в подробности, при замещении кэша (способ первый), карта будет иметь значительное смещение. Для получения карты MapNav из подобных источников нужно зайти с другой стороны. В Sas.Планете выделяете нужный Вам участок карты, в открывшемся окне на вкладке «Склеить», выставляя соответствующие настройки, склеиваете карту в формате OziExplorer (jpeg-картинка + map-файл привязки).

Повторяем процедуру для каждого уровня/масштаба. Получаем несколько карт в формате OziExplorer, для каждого уровня/масштаба свою. Далее, запускаете Map Creator, на вкладке Convert, тыкаете в значок «select map»… указываете на Ваш map-файл. На выходе карта mno/mnm. Описанную процедуру повторяем для каждого уровня/масштаба. Далее все полученные карты mno/mnm склеиваем воедино, кнопка Assamble. В результате получаете многоуровневую карту. Всё, можете загружать карту в MapNav.

Кстати: Map Creator имеет ограничение на создание карт большого размера. Автор программы заявляет, что вряд ли стоит подсовывать картинку более чем 16384 на 16384 пикселей. Пользователи программы уверяют, что Map Creator «хорошо кушает файлы до 19000 на 19000 пикселей» (уж не знаю, для чего нужны такие большие карты, но…). Однако, обойти это ограничение достаточно не сложно. Нужно создать несколько более мелких карт mno/mnm (вышеописанным вторым способом), и склеить их воедино (кнопка assamble в mapnaveditor). «Более мелкие» карты должны быть сделаны с «нахлёстом», т.е. перекрывать друг друга минимум на один тайл. Собирать эти «более мелкие» карты следует с включенной функцией Ignore border, которая обрезает неполные тайлы. В противном случае, при склейке в единую mno-карту, на ней будут видны черные полосы (это неполные тайлы).

Склеиваем все MNO-карты в одну

О том как создавать БОЛЬШИЕ карты для MapNav из карт SAS.Планеты (и не только) можно прочитать в следующей статье.

Как сохранить карту из кэша