В новом релизе были исправлены некоторые ошибки, которые удалось мне, найти самому. Но, также, я добавил еще одну функцию, которая, возможна будет интересна. Эта функция связана с последними изменениями MapWindow GIS в Delphi – добавление статических карт Яндекса. Как Вы помните, в прошлом релизе была добавлена такая функция, в том числе – сохранять карты отЯндекса локально, то есть, у себя на компьютере. Так вот, я добавил функция, которая позволяет просматривать, все сохраненные карты в виде фотогалереи. Это очень удобно, так как пользователь, будет наглядно видеть, какие у него карты доступны. В дальнейшем, он эти карты может увеличивать и добавлять в свой проект.
Если Вы помните, то все карты, полученные от Яндекса сохраняются в папку Yandex, которая находится в проекте. Соответственно, функция сканирует данную папку и в дальнейшем формирует фотогалерею. Далее, в фотогалереи, можно нажать на любую карту и она откроется в новом окне (увеличиться), затем ее можно поместить на компонент TMap (MapWindow GIS) и в дальнейшем ее масштабировать.
Для того чтобы открыть фотогалерею, необходимо выполнить команду, в главном окне программы, Инструменты-Локальные карты Яндекс, после этого появиться фотогалерея из карт:
По нажатию, на любую фотографию из фотогалереи, появиться окно:
В данном окне открывается карта, в полном размере, а также пишется ее имя, по нажатию на кнопку Показать, данная карта перемещать на главную форму, в которой ее можно масштабировать и производить дальнейшие манипуляции.
В этот релиз, я решил включить Геокодирование Яндекс.Карт. Это означает, что пользовать может в проекте MapWindow GIS запросить какую-нибудь улицу и MapWindow GIS получит часть карты этой улицы от Яндекса и отобразит в своем проекте, а Вы уже в своем проекте можете ее масштабировать, сохранять, удалять и так далее.
Для начала нам необходимо настроить Геокодирование Яндекс. Для этого мы запускаем проект и выполняем команду Инструменты-Настройки:
Здесь начнем по порядку дорогие друзья.
Первый блок – Настройки прокси. Здесь мы указываем все необходимые настройки прокси, если мы запрашиваем информацию у Яндекса через прокси. Здесь необходимо выставить галочку Использовать прокси.
Второй блок – Настройки БД. Здесь нам необходимо указать путь к нашей БД, если мы будем работать с картам локально, то есть на компьютере. Проект пока что поддерживает только лишь одну БД – это MS Access. Для подключения ее к проекту необходимо указать путь к *.mdb файлу, а также если на БД установлен пароль и логин, то и их тоже.
Если Вы собираетесь подключать уже готовую БД, то в ней должна быть таблица под именем Yandex и иметь следующие поля:
Id – Счетчик
Name – Текстовый
Coordinat – Текстовый
Но Вам я советую подключать в проект пустую БД, то есть без таблицы, почему – это Вы поймете немного позже.
В данной блоке, вы также можете увидеть поле Использовать лог, так вот – Вы можете подключить любой текстовый файл и выставить галочку Использовать лог, тогда в данный файл будет сохраниться информация, которая программа запрашивает у Яндекса.
Третить блок — Настройки карт. В данном блоке необходимо указать область показа карты, чем меньше область показа – тем подробнее карта, а также размер карты в пикселях (в таком размере они будут сохраняться локально на компьютере).
Для того, чтобы карты, которые Вы получили у Яндекса сохранялись на компьютере необходимо выставить галочку Сохранить карты локально.
Вот и все, как только Вы сделали необходимые для себя настройки, необходимо нажать на кнопку Применить. Теперь переходим к самому Геокодированию.
Для этого нам необходимо выполнить пункт меню – Инструменты-Геокодирование Яндекс, после чего появиться окно:
Тут все очень просто. Если Вы работаете через обычный Интернет или через прокси, то Вам достаточно в поле Запрос ввести тот объекты карты, что Вы ищите и нажать на кнопку Запросить.
После того, как Вы запросите, активируется выпадающий список Найденные результаты, а также кнопки Показать и Занести в БД.
Далее необходимо из выпадающего списка выбрать тот объект, который полностью удовлетворяет Вашим условиям (в большинстве случаях он находится первым в списке):
После того, как Вы выберите нужный Вам результат необходимо нажать на кнопку Показать, после чего найденный участок карты отобразится в Вашем проекте:
Как видите у меня карта не очень подробная, потому что в Настройках карты у меня стоит область показа 0,3 на 0,3, а если поставить, например 0,2 на 0,2, то я увижу данную улицу и находящиеся на ней объекты:
Видите как все просто. Теперь переходим к локальным картам. Если в настройках у Вас стоит галочка Сохранять карты локально, то когда Вы будете из запрашивать у Яндекса, они в автоматическом режиме будут сохраняться в папку Yandex, которая находится в папке с проектом. После этого Вам необходимо заполнить Вашу БД запросами, для этого в настройках указываем путь к нашей БД и нажимаем на кнопку Применить. Далее в окне Геокодирование Яндекс необходимо ввести запрос и нажать на кнопку Запросить, выбрать из списка нужный Вам запрос, который Вы хотите занести в БД. Далее необходимо поставить галочку Работа с БД и если к Вашей БД подключение будет успешное, то об этом появиться сообщение, в противном случае появиться сообщение об неудачи.
Далее будьте здесь внимательны: если у Вас БД пустая (без таблиц), прежде чем заносить в нее данные необходимо в ней создать таблицу. Для этого надо нажать на кнопку Таблица и если все будет в порядке, то Вам программа выдаст сообщение о том, что Таблица создана успешно.
После того, как Вы создали таблицу Вы можете заносить в БД данные, нажимая на кнопку Занести в БД. Не забывайте, чтобы занести в БД данные у Вас на компьютере должны уже находится Ваши карты в папке Yandex, в противном случае программа не будет работать корректно.
Все, чтобы работать локально, необходимо наличие карт и БД, остальное все производится, как и в сетевом режиме, только лишь при одном условии, что должна стоять галочка Работа с БД.
1. Сделана легенда слоев. Для этого необходимо выполнить команду Легенды-Легенда слоев:
2. Выделение объектов на слоях и получения информации. Для этих целей, необходимо открыть наш слой и затем выполнить команду Найти-Выделение мышью-SendMouseMove F11 или просто нажать кнопку F11 на клавиатуре.
После выполнения этих действий можно перемещаться мышью по нашему слою и автоматически будут выделяться подобъекты слоя.
3. Для просмотра информации данного подобъекта необходимо нажать левой кнопкой мыши и после чего появиться окно:
4. Просмотр версии MapWindow GIS, которая установлена у Вас на коспьютере. Для этого необходимо выполнить команду Настройки-Показать версию MapWindow GIS, в итоге она отобразиться в правом нижнем углу.
1. Доработан поиск по запросу (работают все виды условий, Найти-Поиск по запросу)2. Доработан поиск с масштабом — Найти-Найти с масштабом, который ищет объекты, увеличивая проекцию и при этом ставит метку:
3. При поиске всех объектов (Найти-Найти все объекты), вычисляются координаты найденных объектов, которые можно посмотреть, выполнив команду Найти-Найденные координаты:Щелкнув двойным щелчком мыши по координатам, можно перейти к данному объекту, который находится по данным координатам, при этом можно выставить цвет метки, который вы желаете сами:
4. Теперь можно находить вводные границы (Найти-Вводные границы (границы)). Конечно, это больше предназначено для поиска именно вводных границ, но ничего страшного не будет, если Вы найдете обычные границы Вашего слоя:
Информации по MapWindow GIS очень мало, особенно на русском языке и для среды разработки Delphi. Поэтому я хочу предложить список статей по MapWindow GIS, которые я пишу для сайта по программированию на Delphi.
Мдаа, сколько же я намучался с этой MapWindow GIS, делал небольшую ГИС, и мне тогда на глаза попался именно этот компонент. В самом начале я с ней долго разбирался, но потом благодаря gislab все пошло намного быстрее=))
Gracias por tus publicaciones, me han sido muy útiles, ya que actualmente estoy programando en Delphi XE4 y usando el componente MapWinGIS 4.9.3.6 y no encontraba ejemplos para Delphi. Muchas gracias
Мдаа, сколько же я намучался с этой MapWindow GIS, делал небольшую ГИС, и мне тогда на глаза попался именно этот компонент. В самом начале я с ней долго разбирался, но потом благодаря gislab все пошло намного быстрее=))
я все статьи смотрел на официальном сайте MapWindow GIS и переводил переводил их под Delphi, так как там примеры на C#
Gracias por tus publicaciones, me han sido muy útiles, ya que actualmente estoy programando en Delphi XE4 y usando el componente MapWinGIS 4.9.3.6 y no encontraba ejemplos para Delphi. Muchas gracias