Всем доброго времени суток. Давненько я не писал ничего про MapWindow GIS в Delphi. Может оно и к лучшему, так как летом вышла очередная новая версия данного ActiveX-компонента, в которой наконец-то появилась поддержка Google-карт.
Мы уже с Вами рассматривали один проект, который позволяет в своих программах добавлять интерактивные карты Google. Эта библиотека называется GMLib и я уже о ней рассказывал на этом блоге. Но многим нравиться именно MapWindows GIS, так как по мне, она более функциональная и универсальная, да и разобрали в данном компоненте мы уже прилично вопросов.
Так вот, здесь я хотел бы поговорить о новой версии, которая вышла в августе 2014 года – MapWinGis 4.9.2. Вам лишь необходимо скачать последнюю версию с официального сайта (ссылка) для своей операционной системы.
Затем на всякий случай удалите старую версию компонента и установите новую, как это сделать я рассказывал в данной статье. Сейчас поговорим о самых интересных и больших обновлениях в этой версии, а в следующей статье уже будем рассматривать, как можно работать с этим компонентом.
Вообще, карты Google теперь в проекте Вашем могут выглядеть следующим образом:
Горячие клавиши по умолчанию
Теперь на карте есть свои встроенные горячие клавиши, которыми можно с легкостью управлять своим проектом, например:
- «+» — увеличение на карте
- «-» — уменьшение на карте
- «*» — увеличение на карте до ближайшей плитки
- «M» — измерение расстояния
- «Колесо мыши» — увеличение или уменьшение масштаба, в независимости от того, какой тип курсора у Вас установлен
- «Z» — увеличение
- «Shift+Left» – увеличение до предыдущего слоя
- «Shift+Right» – увеличение до следующего слоя
Горячие клавиши будут работать только в том случае, если на вашей карте установлен фокус. А стрелки влево и вправо будут работать, только при выполнение некоторого кода, об этом будет рассмотрено в следующих статьях, так как здесь в основном рассматриваем новые возможности.
Измерения расстояния и площади
Теперь Вы можете очень легко и просто измерять площадь и расстояние на своих картах. Поэтому, чтобы Вы могли начать измерение расстояния, необходимо в свойствах компонента CursorMode выбрать cmMeasure, либо же использовать горячую клавишу «M», но в данном случае карта должна находиться в фокусе.
Чтобы измерить площадь необходимо включить режим измерения площади, это делается следующим образом:
Measuring.MeasuringType:=MeasureArea;
Вот так будет выглядеть измерение расстояния:
А вот так измерение площади:
Данный режим также поддерживает различные горячие клавиши:
- Щелчок левой кнопки мыши – добавление новой точки
- Щелчок правой кнопки мыши – стирание последней добавленной точки
- Двойной щелчок мыши – разделение измерения пути
- Ctrl+щелчок мыши – закрывает полигон для измерения
- Shift+щелчок мыши – привязывает линию к ближайшей вершине на слое карты
Кроме этого, теперь можете создавать слои без создания нужных объектов. В версии 4.9.2 еще много различных вкусностей: он поддерживает и гибридные карты Яндекс, Yahoo и других картографических систем, о которых мы будем говорить в следующих статьях.
Обновление предыдущей версии MapWindowGIS
Если Вы не знаете, как можно установить новую версию ActiveX-компонента, то посетите данную статью. Если же она у Вас установлена, то можно просто ее обновить, например, при помощи регистрации библиотеки с помощью команды regsvr32 (Пуск-Выполнить), либо же просто импортируйте новую версию компонента в Delphi.
На этом все, хотели бы Вы дальше читать статьи по MapWindowGIS в Delphi?