Очень давно пользуюсь программой SAS Планета и периодически наблюдаю за ее развитием и совершенствованием.
Очень хороший функционал в плане меток, фоток и прочей личной информации, отображаемой на картах.
Но, все же мне всегда не хватало на картах именно моих фоток. Чтобы было вот так:
Хотелось, так же, чтобы они были интерактивны (чтобы фотки увеличивались при клике).
Что может SAS при работе со слоями в этом направлении:
1. Может показывать тайлы (графические).
2. Может потайлово выводить информацию из файлов KML. Но ограничено.
А именно: показывать квадратики меток, не обращая внимания на стили этих меток;
и показывать полигоны, в стиле которых настраивается цвет (в настройках программы).
Вообщем то - вполне достаточно для решения этой задачи.
Позвольте представить на ваш суд утилиту, которая умеет создавать слои с вашими фотографиями для SAS.
Что она делает:
Утилита читает KML файлы, создает два слоя в формате SAS кэша и кладет их в кэш.
Один слой - фотографий (по образу и подобию Яндекс и Гугль Фоток. Второй слой - KML с полигонами, вокруг картинок. При клике на полигон - открывается то окно, которое вы создавали при создании метки.
Лично я планировал работать с ней так: Сохранять фотографии, как метки в SAS, что-то писать в них, потом экспортировать их в KML, а потом загнать все это в слои с помощью утилиты.
Как работает:
тут нужно указать путь к файлам KML. Утилита прочитает все KML, находящиеся в директории и во всех вложенных директориях (будьте внимательны). В KML файлах прочтутся все Метки. Нет необходимости создавать файл на каждую метку.
тут - путь к директории родного кэша SAS (cache). В ней будет создана папка (MyFoto), а в ней - две папки (KML и PNG), в которых, собственно и будут находиться два кэша.
Тут - уровни масштабирования, на которых будут распологаться фотки от 1 до 24.
Настройка действительна для каждой метки в каждом KML до конца операции.
Вполне логично, что нет смысла выкладывать все фотки от самого первого зума (там такая каша будет). Поэтому, наверное, придется каждый начальный слой (с которого начнется показываться фотка) генерить отдельно. И она, начиная со стартового слоя сгенерится до последнего (указанного) на каждом промежуточном слое.
Тут все просто. Это - размер стороны фотографии, отображаемой на слое фоток.
тут - необходимо указать путь к директории "MediaData", прописанной в SAS.
Необходимо для того, чтобы фотографии, имеющие относительные пути, тоже могли быть прочитаны утилитой, а так же фотографии, имеющие пути этой директории, записывались как относительные.
Что качать:
http://clubs-map.ru/data/sas/clubs-map_win32.rar - win32 версия (39,0 МБ)
http://clubs-map.ru/data/sas/clubs-map_win64.rar - win64 версия (42,0 МБ)
А также:
http://clubs-map.ru/data/sas/MyFoto_zmp.rar - файлы настроек двух слоев для SAS (4,00 КБ).
Утилита сама по себе - небольшая. А архивы с ней, я бы сказал - не маленькие )))).
Это все из-за включенного в них JRE8. Вряд ли он на многих компах стоит.
Но, если кто-то знаком с тем, что я сейчас тут понаписал, то вот - архив с самим .jar:
http://clubs-map.ru/data/sas/clubs-map.rar (36,0 КБ)
Для других платформ:
Утилита написана на JAVA, поэтому по идее должна работать на любой платформе, под которую существует JRE (правда вам понадобится JRE8).
Посмотреть можно тут: https://jdk8.java.net/download.html
Вполне логично, что для просмотра ваших фотографий при таком способе, у вас должны быть включены два слоя (MyFoto KML и MyFoto PNG).
Что еще (просто мысли):
То, как сейчас отображаются слои Яндекс фоток и Фотки Гугля - наверное - не совсем хорошо. Можно было бы и им добавить интеракривности. Про Гугль сказать ничего не могу, но знаю, что яндекс на запрос (JSONP из API) отдает JSON с параметрами активных областей потайлово. Можно было бы и из них формировать KML с областями для хранения в кеше и использования oflane.