ExtService. Пример использования GPS совместно с Google Maps Mobile

Google Maps Mobile – приложение для просмотра карт и спутниковых изображений. 

Возможности:

  • Подробные карты для крупных городов России;
  • Проложенный маршрут показывается на карте с пошаговыми инструкциями;
  • Интегрированные результаты поиска — местонахождение компаний и их контактная информация указаны на карте;
  • Избранные места и маршруты – экономят время и силы с помощью списка домашних и служебных адресов и маршрутов проезда;
  • Мгновенный килобайтометр – отслеживайте количество полученных и отправленных данных в реальном времени — просто взгляните в верхний правый угол экрана телефона, когда используете Карты Google;
  • Расширенная бизнес-информация – выбрав компанию, перейдите на вкладку “Сведения”, чтобы узнать часы работы, предлагаемые услуги и т. д.
  • Интерактивные карты можно с легкостью и без задержек увеличивать, уменьшать и двигать в любом направлении;
  • Вид с высоты птичьего полета;

Условия распространения: Бесплатно.

Скачать можно с сайта разработчика: http://www.google.com/mobile/ или по адресу http://www.ppccabfiles.ru./dlm/download.php?t=d&i=2597

 

Данное приложение можно с успехом использовать совместно с 1С и внешней компонентой  ”ExtService for 1C PDA”. Например, маршрут может быть задан из командной строки. В качестве начальной и конечной точек маршрута можно задавать как географические координаты, так и конкретные названия населенных пунктов.


Пример 1:

Координаты торговых точек  могут быть ранее установлены в базе 1С, тогда для построения маршрута достаточно запустить приложение GoogleMaps.exe указав координаты в командной строке:

 

//показать маршрут в Googlemap, стандартный метод “ЗапуститьПриложение”

ИмяПриложения =“”"Program FilesGoogleMapsGoogleMaps.exe”"”;

 

//координаты нач. маршрута, только для примера,

//в реальном приложении могут быть считаны из базы 1С или GPSприемника

НачШирота   =55.7646;

НачДолгота =37.6069;

 

//координаты кон. маршрута

КонШирота   =55.7731;

КонДолгота =37.6021;

 

Аргументы =“-URL “”?action=rout&start=@+Строка(НачШирота)+,+Строка(НачДолгота)+“&end=@”+Строка(КонШирота)+,+Строка(КонДолгота);

 

СтрокаКоманды = ИмяПриложения +” “+ Аргументы;

ЗапуститьПриложение(СтрокаКоманды,ProgramFilesGoogleMaps,Ложь);

 

Результат:

gmap1    gmap2

gmap3    gmap4 

 

Пример 2:

В командной строке можно вместо координат указать наименования начального и конечного пунктов маршрута:

 

//показать маршрут в Googlemap, пример с помощью метода ВК “ЗапуститьПриложение”

ИмяПриложения =“”"Program FilesGoogleMapsGoogleMaps.exe”"”;

НачМаршрута =“Москва, ул. Новый Арбат, 28″;

КонМаршрута =“Москва, ул. 1905 года, 12″;

 

Аргументы       =“-URL “”?action=rout&start=”+НачМаршрута+“&end=”+КонМаршрута+“”"”;

   

ВК.ИспользоватьФункцииОболочки(Истина);

ВК.ЗапуститьПриложение(ИмяПриложения,Аргументы,Ложь);

ВК.ИспользоватьФункцииОболочки(Ложь);

gmap5    gmap6

И, наконец, пример использования GPSприемника с помощью внешней компоненты:

Включить GPSприемник просто, всего одна команда:

//включить GPSприемник

ВК.ИспользоватьGPS(Истина);

 

После инициализации и обнаружения спутников компонента посылает в 1С данные от GPSприемника с помощью внешних событий. Необходимо в текущей форме (или в глобальном модуле приложения) перехватить их, объявив процедуру «ВнешнееСобытие»:

 

Процедура ВнешнееСобытие (Источник, Событие, Данные)

     Если Источник=“ExtService”Тогда

        Если Событие =“GPS”Тогда

            РазобратьДанныеGPS(Данные);

        КонецЕсли;

    КонецЕсли;

КонецПроцедуры

 

Для компоненты «Источник» всегда содержит значение «ExtService», для GPSприемника «Событие» всегда равно «GPS», а «Данные» содержит непосредственно данные, полученные от встроенного GPSприемника. Это многострочная строка, пример разбора данных:

Процедура РазобратьДанныеGPS(Данные)

    //Данные – многострочная строка типа:

    //  Количество спутников

    //  Широта

    //  Долгота

    //  Скорость в МН

    //  Дата в формате 1С т.е строка типа ’20090501120000′ // 5 мая 2009 года 12:00:00

    КолСпутников = Число(СтрПолучитьСтроку(Данные,1));

    Если КолСпутников >0Тогда

        Широта          = Число(СтрПолучитьСтроку(Данные,2));

        Долгота         = Число(СтрПолучитьСтроку(Данные,3));

        СкоростьМиль    = Число(СтрПолучитьСтроку(Данные,4));

        ТекДата         = Дата(СтрПолучитьСтроку(Данные,5));

 

        //проверить на корректность координаты…

        //…

        //…

        //если все ок, выключить GPS

        ВК.ИспользоватьGPS(Ложь);

        //и показать маршрут до следующей точки,

        //где мШиротаСледТочки и мДолготаСледТочки – координаты точки из инф.базы

        ПоказатьМаршрутДоСледТочки(Широта,Долгота,мШиротаСледТочки,мДолготаСледТочки);

    КонецЕсли;

КонецПРоцедуры

 

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

Плюсы:

  • Бесплатное программное обеспечение;
  • Большой функционал и удобство работы.

 

Минусы:

  • Обязательно должно быть подключение к Интернету;
  • Достаточно большой объем передаваемых данных, при обмене по средствам GPRS может «подтормаживать». Объем одного «кусочка» карты от 40 до 120 Кб (значение, конечно, примерное и зависит от каждого конкретного случая);
  • Карты не всех городов России достаточно детализированы для составления маршрутов.

 

Процедура загрузки внешней компоненты в данном примере не показана, более подробно описание доступных методов смотрите в разделе «Документация».

В данном примере использовались:

Марка, модель КПК

Версия  ОС

Версия 1С

Версия ExtService

E-Ten Gloflish x650

WM 6.1

8.1.6.21

1.0.2.01

(полная версия)

 

Похожие записи: