ZASTOSOWANIE INTERFEJSU GOOGLE MAPS API DLA POTRZEB REALIZACJI SYSTEMU LOKALIZACJI I REJESTRACJI TERMINALI MOBILNYCH



Podobne dokumenty
System satelitarnego pozycjonowania i nadzoru pojazdów, maszyn i urządzeń

Załącznik techniczny przedmiotu zamówienia komponentu

Programowanie urządzeń mobilnych. projekt 6 ( )

REFERAT O PRACY DYPLOMOWEJ

Wirtualizacja panelu HMI w systemie LOGO!

Szczegółowy opis zamówienia:

REFERAT O PRACY DYPLOMOWEJ

2017 Electronics For Imaging, Inc. Informacje zawarte w niniejszej publikacji podlegają postanowieniom opisanym w dokumencie Uwagi prawne dotyczącym

PODSYSTEM RADIODOSTĘPU MOBILNEGO ZINTEGROWANEGO WĘZŁA ŁĄCZNOŚCI TURKUS

Instrukcja obsługi narzędzia API

REFERAT PRACY DYPLOMOWEJ

Specyfikacja funkcjonalna

Instrukcja obsługi aplikacji impk w wersji 3.1


REFERAT O PRACY DYPLOMOWEJ

Pliki zorganizowano w strukturze drzewiastej odzwierciedlając strukturę logiczną aplikacji:

Bazy danych i strony WWW

Zaawansowane aplikacje WWW - laboratorium

Politechnika Poznańska, Instytut Informatyki, TWO/GE. Programowanie dla ios

PROGRAM NAUCZANIA DLA ZAWODU TECHNIK INFORMATYK, O STRUKTURZE PRZEDMIOTOWEJ

Utworzenie aplikacji mobilnej Po uruchomieniu Visual Studio pokazuje się ekran powitalny. Po lewej stronie odnośniki do otworzenia lub stworzenia

OpenLaszlo. OpenLaszlo

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

WINDOWS Instalacja serwera WWW na systemie Windows XP, 7, 8.

Tworzenie stron internetowych z wykorzystaniem HTM5, JavaScript, CSS3 i jquery. Łukasz Bartczuk

VectraPortal. VectraPortal. wersja Instrukcja użytkownika Podstawowa funkcjonalność serwisu. [czerwiec 2016]

Konspekt pracy inżynierskiej

OpenOfficePL. Zestaw szablonów magazynowych. Instrukcja obsługi

CMS, CRM, sklepy internetowe, aplikacje Web

Instrukcja użytkownika

Instalacja i opis podstawowych funkcji programu Dev-C++

Założenia funkcjonalności WWT on-line (pre wywiadu technicznego) dla Kanalizacji Kablowej i Słupów OPL:

I. Spis treści I. Spis treści... 2 II. Kreator szablonów Tworzenie szablonu Menu... 4 a. Opis ikon Dodanie nowego elementu...

Aplikacje WWW - laboratorium

KONCEPCJA WYKORZYSTANIA TECHNOLOGII APPLET- JAVA W TWORZENIU

Praca Magisterska "System zdalnego składania ofert kupna i sprzedaży za pośrednictwem Internetu" AUTOR PROMOTOR

Wizualizacja pogody dla windsurferów

Programowanie dla początkujących w 24 godziny / Greg Perry, Dean Miller. Gliwice, cop Spis treści

Laboratorium 7 Blog: dodawanie i edycja wpisów

Dotacje na innowacje. Inwestujemy w waszą przyszłość.

Przypadki testowe. Spis treści. Plan testów. From Sęp. Wstęp. 2 Plan testów

MAMP: Można to pobrać i zainstalować z XAMPP: Można go pobrać i zainstalować z

PHP: bazy danych, SQL, AJAX i JSON

Platforma e-learningowa

Referat pracy dyplomowej

Wdrożenie modułu płatności eservice. dla systemu Magento

Android poradnik programisty

Tomasz Grześ. Systemy zarządzania treścią

BACKUP BAZ DANYCH FIREBIRD

plansoft.org Zmiany w Plansoft.org

Platforma e-learningowa

Synchronizator plików (SSC) - dokumentacja

Programowanie obiektowe

Nawigacja po trasie wycieczki

Podręcznik Użytkownika LSI WRPO

JavaFX. Technologie Biznesu Elektronicznego. Wydział Informatyki i Zarządzania Politechnika Wrocławska

Dokumentacja systemu NTP rekrut. Autor: Sławomir Miller

Część I Rozpoczęcie pracy z usługami Reporting Services

Spis treści CZĘŚĆ I JĘZYK SIECI 17. Wstęp 13. Rozdział 1 Wprowadzenie do HTML5 19. Rozdział 2 Znajomość znaczników HTML5 37

ArCADia-3D MAKER. Podręcznik użytkownika dla programu ArCADia- 3D MAKER

System Kancelaris. Zdalny dostęp do danych

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania KOMPUTEROWE SYSTEMY STEROWANIA (KSS)

Wdrożenie modułu płatności eservice. dla systemu oscommerce 2.3.x

ArCADia-3D MAKER. Podręcznik użytkownika dla programu ArCADia- 3D MAKER

Instrukcja. importu dokumentów. z programu Fakt do programu Płatnik. oraz. przesyłania danych do ZUS. przy pomocy programu Płatnik

CMS- kontakty (mapa)

Plan. Aplikacja. Architektura aplikacji. Architektura aplikacji Tworzenie aplikacji Application Builder podstawy

Dokumentacja użytkowa

MODUŁ LOKALIZACJI. Funkcja animacji i wizualizacji śladu trasy pojazdu na mapie cyfrowej

Instalacja systemu zarządzania treścią (CMS): Joomla

SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD

Spis treści. Rozdział 2. Graficzna oprawa witryny...z Stosowanie motywu...s...s.. 19

Wprowadzenie. 1. Terminal WebRTC. LABORATORIUM 5: WebRTC komunikacja między terminalami.

Dokumentacja techniczna. Młodzieżowe Pośrednictwo Pracy

Przewodnik Szybki start

Dokumentacja aplikacji Szachy online

Zajęcia 4 - Wprowadzenie do Javascript

Instrukcja obsługi SafeIT - modułu zdalnego sterowania do sterowników kotłów CO firmy Foster v1.0

KS-ZSA. Mechanizm aktualizacji kartotek lokalnych w aptece na podstawie zmian w kartotece CKT. Data aktualizacji:

Dodawanie operacji dodatkowych w WAPRO Mag.

Tom 6 Opis oprogramowania Część 8 Narzędzie do kontroli danych elementarnych, danych wynikowych oraz kontroli obmiaru do celów fakturowania

Wyszukiwanie informacji w Internecie

Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych

Podstawy technologii WWW

Menu Narzędzia w Edytorze symboli i Edytorze Widoku aparatów

Wdrożenie modułu płatności eservice. dla systemu Zen Cart

Tworzenie aplikacji GIS w technologii Flex. Tomasz Turowski Esri Polska

Zaawansowane aplikacje internetowe

Sage Migrator Migracja do wersji Sage Kadry i Płace

Lokalizacja jest to położenie geograficzne zajmowane przez aparat. Miejsce, w którym zainstalowane jest to urządzenie.

Pomoc dla systemu WordPress

Programowanie Komponentowe WebAPI

Referat Pracy Dyplomowej

GŁÓWNY INSPEKTORAT OCHRONY ŚRODOWISKA

Dokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV

Google Earth. Co to jest Google Earth? Co to jest KML? Skąd można pobrać Google Earth?

Instrukcja dla Operatorów. Obsługa Wstępnej Weryfikacji Technicznej w POKO r. Logowanie:

PRZEWODNIK PO PRZEDMIOCIE

Obrazek 1: Interfejs DT. DT Help File v1.3

Informatyka I. Standard JDBC Programowanie aplikacji bazodanowych w języku Java

Transkrypt:

POZNAN UNIVE RSITY OF TE CHNOLOGY ACADE MIC JOURNALS No 75 Electrical Engineering 2013 Sławomir PLUTA* Łukasz WARGIN* ZASTOSOWANIE INTERFEJSU GOOGLE MAPS API DLA POTRZEB REALIZACJI SYSTEMU LOKALIZACJI I REJESTRACJI TERMINALI MOBILNYCH W artykule opisano sposób realizacji części zadań systemu lokalizacji i rejestracji terminali mobilnych związanej z obsługą zadań przez węzeł centralny. Cały system składa się z dwóch części. Pierwsza z nich węzeł mobilny, znajduje się po stronie użytkownika korzystającego z terminala przenośnego wyposażonego w moduł GPS oraz połączonego z Internetem np. poprzez system GPRS. Druga część systemu (węzeł centralny), odpowiedzialna jest za pobranie z bazy danych niezbędnych informacji, a następnie przetworzenie ich i wyświetlenie aktualnego położenia urządzenia wraz z dodatkowymi informacjami (czas, prędkość) na mapie z zasobu Google Maps. W artykule opisano zasady implementacji Google Maps API interfejsu programistycznego, umożliwiającego korzystanie z Google Maps na własnych stronach WWW. Google Maps API pozwala na zintegrowanie ze stroną WWW w pełni funkcjonalnej mapy łącznie z funkcjami do obsługi zdarzeń związanych z procesem lokalizacji terminali mobilnych. 1. WSTĘP W ostatnich latach obserwuje się wzrost zapotrzebowania na systemy umożliwiające zdalną rejestrację położenia urządzeń mobilnych. Obecnie jest wdrożonych dużo rozwiązań umożliwiających lokalizację i rejestrację położenia pojazdów np. dla potrzeb firm transportowych. Natomiast w przypadku lokalizacji osób w oparciu o położenie telefonu komórkowego, nie ma już tak wielu aplikacji. Dzięki zastosowaniu systemów monitoringu z wykorzystaniem lokalizatorów GPS [1-3], można np. dokonać kontroli pracowników wykonywujących swoje obowiązki w terenie. Wykorzystanie systemów lokalizacji położenia urządzeń mobilnych bądź też systemów lokalizacji wbudowanych w auta służbowe nie jest jasno uregulowane. Stosując tą formę monitoringu należy ściśle stosować się do przepisów zawartych w kodeksie cywilnym, konstytucji i w prawach pracy. Przepisy nie regulują w jakiej formie należy poinformować pracowników o zastosowaniu geolokalizacji. Przyjmuje się, że powinno udzielić się tej informacji na jasnych zasadach, z którymi każdy może się zapoznać. Opracowanie systemu * Politechnika Opolska.

192 Sławomir Pluta, Łukasz Wargin lokalizacji i rejestracji terminali mobilnych wymagało zastosowania technik tworzenia stron internetowych przy użyciu języka HTML i PHP, tworzenia skryptów JavaScript oraz powiązania strony WWW z bazą danych. Dzięki wykorzystaniu interfejsu Google Maps API możliwe jest dokładne i szybkie nanoszenie znaczników oznaczających położenie urządzeń przenośnych [4-6]. 2. OPIS SYSTEMU LOKALIZACJI System składa się z dwóch części. Pierwsza z nich to węzeł mobilny, w postaci użytkownika korzystającego z urządzenia przenośnego wyposażonego w moduł GPS połączonego z Internetem np. poprzez łącze GPRS. Urządzenie mobilne wysyła dane na temat lokalizacji, czasu i prędkości do serwera bazy danych. Druga część systemu węzeł centralny zrealizowany na komputerze klienta, odpowiedzialny jest za pobranie z bazy danych niezbędnych informacji, a następnie przetworzenie ich i wyświetlenie aktualnego położenia urządzenia wraz z dodatkowymi informacjami (czas, prędkość) na ekranie komputera. Na rysunku 1 zamieszczono schemat blokowy przedstawiający podstawowe elementy składowe systemu lokalizacji. Rys. 1. Ogólny schemat działania systemu lokalizacji System centralny ma za zadanie odbiór danych z urządzenia mobilnego i ich rejestrację w bazie danych oraz przetwarzanie. W tej części systemu, aplikacja zainstalowana na komputerze administratora systemu, poprzez dowolne łącze internetowe, nawiązuje połączenie z serwerem bazy danych, a następnie pobiera dane z serwera. Kolejnym krokiem jest przetworzenie pozyskanych danych i wyświetlenie ich. Podstawą realizacji centralnego systemu lokalizacji jest strona

Zastosowanie interfejsu Google Maps API dla potrzeb realizacji systemu 193 internetowa. Strona napisana jest zgodnie ze specyfikacją języka HTML. Wywoływanie funkcji Google Maps API odbywa się z wykorzystaniem języka Java Script. Do realizacji bazy danych wykorzystano system MySQL. 3. ZASTOSOWANIE INTERFEJSU GOOGLE MAPS API Google Maps API jest narzędziem stworzonym przez firmę Google w celu umożliwienia wstawienia dowolnej mapy na stronę internetową. Dostęp do API możliwy jest z poziomu języka JavaScript, ActionScript 3 (Google Maps API for Flash) lub też w postaci zwykłego obrazu (Google Static Maps API). Korzystanie z usługi jest bezpłatne. Google Maps API pozwala na zintegrowanie ze stroną WWW w pełni funkcjonalnej mapy łącznie z własnymi danymi oraz funkcjami do obsługi zdarzeń. Pierwsze wersje Google Maps API nie oferowały niektórych zaawansowanych funkcji, dostępnych tylko na stronie Google Maps. Najnowsza wersja udostępnia niemal wszystkie funkcje, a między innymi: geokodowanie adresów, rysowanie, łączenie polilinii oraz wypełnianie kolorem, wyznaczanie tras przejazdu z dowolnych punktów wraz z punktami pośrednimi oraz listą kroków, kontrola widoku z ulic (Street View) itp. Zawartość mapy jest generowana dynamicznie, a dane są pobierane z bazy danych MySQL. Dane są wczytywane przez przeglądarkę z pliku dane.php, którego zawartość generowana jest z wykorzystaniem skryptu napisanego w języku PHP. Między znacznikami <dane> i </dane> zawarte są tagi markerów. Każdy marker opisany jest przez jeden tag <marker/>, każdy tag marker zawiera atrybuty: lat, lon, ikona, predkosc, kategoria, wspolrzedna_id i nazwa, odpowiadające kolejno za: szerokość geograficzną, długość geograficzną, adres URL ikony, prędkość, indywidualne id dla każdej współrzędnej oraz nazwę użytkownika. Kiedy pobieranie danych się skończy, zostaje wywołana funkcja z dwoma argumentami - dane, czyli zawartość pliku, oraz kododpowiedzi. Jeżeli kod odpowiedzi wynosi 200 (co oznacza prawidłowe zakończenie pobierania danych) wykonany zostanie kod odpowiedzialny za parsowanie. Jeśli kododpowiedzi był inny (np. błąd 404), to wyświetlony zostanie odpowiedni komunikat informujący o błędzie. Kolejnym krokiem jest parsowanie danych. Parsowanie (parser to inaczej analizator składniowy) to przetwarzanie łańcucha tekstowego na instrukcje zrozumiałe dla danego języka programowania. Dane parsowane są za pomocą funkcji GXml.parse(), co przedstawiono poniżej: var xml = GXml.parse(dane); Tworzona jest zmienna markery i przypisywane są do niej wszystkie obiekty z tagiem marker:

194 Sławomir Pluta, Łukasz Wargin var markery = xml.documentelement.getelementsbytagname("marker"); for(var i=0; i<markery.length; i++) { var lat = parsefloat(markery[i].getattribute("lat")); var lon = parsefloat(markery[i].getattribute("lon")); var ikona_url = markery[i].getattribute("ikona"); var nazwa = markery[i].getattribute("nazwa"); var czas = markery[i].getattribute("czas"); var kategoria = markery[i].getattribute("kategoria"); Następnie wywoływana jest funkcja wstawiająca marker na mapę z odpowiednimi atrybutami: var marker = dodajmarker(kategoria,lat,lon,ikona_url,nazwa,czas); odswiezsidebar(); } Wywoływany jest komunikat informujący o ilości wczytanych markerów: alert('wczytano '+markery.length+' markerów'); Inicjowanie mapy jest prostą czynnością, utrudnienia pojawiają się wraz z rozbudową aplikacji o nowe funkcje. Warto na mapie umieścić kontrolki ułatwiające obsługę i poruszanie się po mapie. Typowy widok mapy przedstawiono na rysunku 2. Zastosowano tu oznaczenia: 1 kontrolka nawigacyjna, klasa GLargeMapControl, 2 Kontrolka wyboru trybu mapy, klasa GMapTypeControl, 3 okno informacyjne, klasa GInfoWindow, 4 marker pokazujący lokalizację, klasa GMarker, 5 Mini-mapa, klasa GOverviewMapControl. Kolejne elementy wykorzystywane w procesie tworzenia aplikacji to funkcja inicjująca mapę: function mapastart() { Następnie wykonuje się sprawdzenie kompatybilności przeglądarki: if(gbrowseriscompatible { i utworzenie obiektu mapy w elemencie kodu HTML o ID mapka : var mapa = new GMap2(document.getElementById("mapka"));

Zastosowanie interfejsu Google Maps API dla potrzeb realizacji systemu 195 Wycentrowanie mapy w miejscu o podanych współrzędnych i o podanym przybliżeniu realizuje funkcja: mapa.setcenter(new GLatLng(53.41935400090768,14.58160400390625),10); Dodanie kontrolek mapy zapewniają polecenia: mapa.addcontrol(new GLargeMapControl()); mapa.addcontrol(new GMapTypeControl()); mapa.addcontrol(new GOverviewMapControl()); mapa.addcontrol(new GScaleControl()); } } Dzięki zastosowaniu powyższych funkcji można wywołać i umieścić podstawową mapę w aplikacji napisanej w kodzie HTML. Dodatkowo do mapy dołączony zostanie pasek boczny, w którym wyświetlane będą informacje na temat aktualnie pokazanych na mapie markerów. Markery nie wyświetlane na mapie, nie będą również wyświetlane w bocznym pasku. Odnośnikiem jest tu nazwa użytkownika zaznaczonego na mapie. Prezentowany system lokalizacji posiada także bardzo przydatną funkcję jaką jest wyświetlanie przybliżonego adresu wybranego punktu dzięki wykorzystywaniu geokodowania. Wykonanie skryptu związanego z tym procesem, umożliwia wyświetlenie adresu w okienku informacyjnym w pobliżu wybranego punktu na mapie. Rys. 2. Wygląd generowanej mapy

196 Sławomir Pluta, Łukasz Wargin Na rysunku 3 przedstawiono przykładowy zrzut ekranu dokumentujący proces rejestracji przemieszczania się terminala mobilnego. Rys. 3. Wygląd interfejsu użytkownika 4. PODSUMOWANIE System lokalizacji użytkowników mobilnych dzięki zastosowaniu interfejsu Google Maps API w przystępny sposób udostępnia takie funkcje jak: dodawanie i usuwanie użytkowników, nanoszenie na mapę lokalizacji na podstawie zebranych danych, wybór widzialności użytkowników, wyświetlanie tylko ostatniego zarejestrowanego położenia użytkownika, pokazywanie przybliżonego adresu dla zaznaczonego punkt, przenoszenie do punktu na mapie, zaznaczonego w pasku bocznym znacznika, wyszukiwanie lokalizacji według wpisanego adresu oraz wyświetlanie informacji na temat dowolnego punktu, takich jak: czas wysłania informacji, nazwa użytkownika, prędkość chwilowa przemieszczania się urządzenia, współrzędne geograficzne, przybliżony adres. Projekt systemu umożliwia wprowadzanie dalszych rozszerzeń o nowe funkcje i możliwości, pozwalające na tworzenie raportów i statystyk na podstawie zebranych danych. System nie wymaga specjalistycznych serwerów bazodanowych. Podczas

Zastosowanie interfejsu Google Maps API dla potrzeb realizacji systemu 197 testów system mobilny wysyłał dane o pozycji z minimalnym krokiem 0,5 sekundy. W tym przypadku po retransmisji możemy spodziewać się błędu położenia w wysokości 1 kroku pomiaru, co w przypadku pieszych obiektów jest dopuszczalne. W czasie 0,5 sekundy człowiek przemieszcza się o 0,5 m. Poziom niedokładności jest więc koło 10 razy mniejszy od standardowego błędu lokalizacji systemu GPS. System w obecnej formie może znaleźć wiele zastosowań. Głównym jego przeznaczeniem może być kontrola położenia pracowników, dzieci, osób niepełnosprawnych oraz starszych. Funkcjonalność systemu w obecnej formie ogranicza się do nanoszenia na mapę współrzędnych o aktualnej pozycji oraz podawania i przetwarzania podstawowych informacji czasu i prędkości przemieszczania się urządzenia. Po wprowadzeniu odpowiednich modyfikacji, system mógłby również stanowić bazę do budowy mobilnego systemu telemetrycznego. LITERATURA [1] Narkiewicz J.: GPS i inne satelitarne systemy nawigacji. Wydawnictwo Komunikacji i Łączności, Warszawa, 2007. [2] Januszkiewicz J., Systemy satelitarne GPS Galileo inne. Wydawnictwo Naukowe PWN, Warszawa, 2010. [3] Lamparcki J., Świątek K.: GPS w praktyce geodezyjnej. Wydawnictwo Gall, 2007. [4] Purvis M., Sambells J., Turner C.: Google Maps Aplications with PHP and AJAX: From Novice to Professional, Apress, 2010. [5] GOOGLE MAPS: Google Maps przewodnik użytkownika. http://maps.google.com/support/bin/topic.py?hl=pl&topic=1465. [6] GOOGLE MAPS: Dokumentacja Google Maps Api. http://code.google.com/intl/plpl/apis/maps/documentation/javascript/v2/basics.html. APPLICATION OF THE GOOGLE MAPS API IN THE SYSTEM OF LOCALIZATION AND REGISTRATION FOR MOBILE TERMINALS In the article is shown a part of localization and registration system for mobile terminals associated with the handling tasks by the central node. This paper contains a description of the principles of operating the system. Important concepts and the most important system services offered by Google (Google Maps and Google Maps Api) had been described. The system allows identify the exact localization of the terminals with the basic information which is stored in the database, such as location, time of the registration, the instantaneous velocity and the average movement speed of the terminals.