summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorQt Continuous Integration System <qt-info@nokia.com>2011-05-20 15:16:42 +1000
committerQt Continuous Integration System <qt-info@nokia.com>2011-05-20 15:16:42 +1000
commit822941f6c74753c69b189180af820e5b294434d9 (patch)
treec1ff3005cbaab68589b26dedeaf156201c64440d
parentbfb0c949d5fe915be3a4ade70f58d028b063e230 (diff)
parentf6a097032aab43f4b94d09d52ff16578ef1c02a2 (diff)
downloadqtlocation-822941f6c74753c69b189180af820e5b294434d9.tar.gz
Merge branch 'master' of git://scm.dev.nokia.troll.no/qt/qtlocation-staging
* 'master' of git://scm.dev.nokia.troll.no/qt/qtlocation-staging: fix incorrect .gitignore Fix Qt coding style issues add QtLocation examples
-rw-r--r--.gitignore3
-rw-r--r--demos/demos.pro2
-rw-r--r--demos/mapsdemo/icons/endmarker.pngbin0 -> 3878 bytes
-rw-r--r--demos/mapsdemo/icons/mylocation.pngbin0 -> 1260 bytes
-rw-r--r--demos/mapsdemo/icons/pathmarker.pngbin0 -> 938 bytes
-rw-r--r--demos/mapsdemo/icons/searchmarker.pngbin0 -> 3641 bytes
-rw-r--r--demos/mapsdemo/icons/startmarker.pngbin0 -> 4244 bytes
-rw-r--r--demos/mapsdemo/icons/waypointmarker.pngbin0 -> 3494 bytes
-rw-r--r--demos/mapsdemo/main.cpp89
-rw-r--r--demos/mapsdemo/mainwindow.cpp286
-rw-r--r--demos/mapsdemo/mainwindow.h98
-rw-r--r--demos/mapsdemo/mapsdemo.pro41
-rw-r--r--demos/mapsdemo/mapsdemo.qrc12
-rw-r--r--demos/mapsdemo/mapswidget.cpp531
-rw-r--r--demos/mapsdemo/mapswidget.h191
-rw-r--r--demos/mapsdemo/marker.cpp332
-rw-r--r--demos/mapsdemo/marker.h130
-rw-r--r--demos/mapsdemo/markerdialog.cpp117
-rw-r--r--demos/mapsdemo/markerdialog.h76
-rw-r--r--demos/mapsdemo/navigatedialog.cpp95
-rw-r--r--demos/mapsdemo/navigatedialog.h68
-rw-r--r--demos/mapsdemo/navigator.cpp155
-rw-r--r--demos/mapsdemo/navigator.h96
-rw-r--r--demos/mapsdemo/searchdialog.cpp90
-rw-r--r--demos/mapsdemo/searchdialog.h64
-rw-r--r--examples/declarative/declarative.pro4
-rwxr-xr-xexamples/declarative/flickr/flickr-90.qml51
-rw-r--r--examples/declarative/flickr/flickr.pro19
-rwxr-xr-xexamples/declarative/flickr/flickr.qml126
-rwxr-xr-xexamples/declarative/flickr/flickr.qmlproject16
-rw-r--r--examples/declarative/flickr/flickr.qrc30
-rwxr-xr-xexamples/declarative/flickr/flickrcommon/Progress.qml72
-rwxr-xr-xexamples/declarative/flickr/flickrcommon/RestModel.qml100
-rwxr-xr-xexamples/declarative/flickr/flickrcommon/ScrollBar.qml80
-rwxr-xr-xexamples/declarative/flickr/flickrcommon/Slider.qml76
-rwxr-xr-xexamples/declarative/flickr/flickrmobile/Button.qml78
-rw-r--r--examples/declarative/flickr/flickrmobile/GeoTab.qml128
-rwxr-xr-xexamples/declarative/flickr/flickrmobile/GridDelegate.qml111
-rwxr-xr-xexamples/declarative/flickr/flickrmobile/ImageDetails.qml156
-rwxr-xr-xexamples/declarative/flickr/flickrmobile/ListDelegate.qml66
-rwxr-xr-xexamples/declarative/flickr/flickrmobile/TitleBar.qml77
-rwxr-xr-xexamples/declarative/flickr/flickrmobile/ToolBar.qml64
-rwxr-xr-xexamples/declarative/flickr/flickrmobile/images/gloss.pngbin0 -> 1236 bytes
-rwxr-xr-xexamples/declarative/flickr/flickrmobile/images/lineedit.pngbin0 -> 1415 bytes
-rwxr-xr-xexamples/declarative/flickr/flickrmobile/images/lineedit.sci5
-rwxr-xr-xexamples/declarative/flickr/flickrmobile/images/moon.pngbin0 -> 2433 bytes
-rwxr-xr-xexamples/declarative/flickr/flickrmobile/images/quit.pngbin0 -> 2369 bytes
-rwxr-xr-xexamples/declarative/flickr/flickrmobile/images/star.pngbin0 -> 349 bytes
-rwxr-xr-xexamples/declarative/flickr/flickrmobile/images/stripes.pngbin0 -> 257 bytes
-rwxr-xr-xexamples/declarative/flickr/flickrmobile/images/sun.pngbin0 -> 8153 bytes
-rwxr-xr-xexamples/declarative/flickr/flickrmobile/images/titlebar.pngbin0 -> 1436 bytes
-rwxr-xr-xexamples/declarative/flickr/flickrmobile/images/titlebar.sci5
-rwxr-xr-xexamples/declarative/flickr/flickrmobile/images/toolbutton.pngbin0 -> 2550 bytes
-rwxr-xr-xexamples/declarative/flickr/flickrmobile/images/toolbutton.sci5
-rwxr-xr-xexamples/declarative/flickr/flickrmobile/nmealog.txt1403
-rw-r--r--examples/declarative/flickr/qmllocationflickr.cpp62
-rw-r--r--examples/declarative/landmarkmap/landmarkmap.pro24
-rw-r--r--examples/declarative/landmarkmap/landmarkmap.qml381
-rw-r--r--examples/declarative/landmarkmap/landmarkmap.qrc28
-rwxr-xr-xexamples/declarative/landmarkmap/landmarkmapcommon/ScrollBar.qml80
-rwxr-xr-xexamples/declarative/landmarkmap/landmarkmapcommon/Slider.qml81
-rwxr-xr-xexamples/declarative/landmarkmap/landmarkmapmobile/Button.qml88
-rw-r--r--examples/declarative/landmarkmap/landmarkmapmobile/Floater.qml90
-rwxr-xr-xexamples/declarative/landmarkmap/landmarkmapmobile/ListDelegate.qml66
-rwxr-xr-xexamples/declarative/landmarkmap/landmarkmapmobile/StatusBar.qml66
-rwxr-xr-xexamples/declarative/landmarkmap/landmarkmapmobile/TitleBar.qml76
-rwxr-xr-xexamples/declarative/landmarkmap/landmarkmapmobile/ToolBar.qml79
-rwxr-xr-xexamples/declarative/landmarkmap/landmarkmapmobile/images/gloss.pngbin0 -> 1236 bytes
-rw-r--r--examples/declarative/landmarkmap/landmarkmapmobile/images/landmarkstar.pngbin0 -> 583 bytes
-rwxr-xr-xexamples/declarative/landmarkmap/landmarkmapmobile/images/lineedit.pngbin0 -> 1415 bytes
-rwxr-xr-xexamples/declarative/landmarkmap/landmarkmapmobile/images/lineedit.sci5
-rwxr-xr-xexamples/declarative/landmarkmap/landmarkmapmobile/images/moon.pngbin0 -> 2433 bytes
-rwxr-xr-xexamples/declarative/landmarkmap/landmarkmapmobile/images/quit.pngbin0 -> 2369 bytes
-rwxr-xr-xexamples/declarative/landmarkmap/landmarkmapmobile/images/star.pngbin0 -> 349 bytes
-rwxr-xr-xexamples/declarative/landmarkmap/landmarkmapmobile/images/stripes.pngbin0 -> 257 bytes
-rwxr-xr-xexamples/declarative/landmarkmap/landmarkmapmobile/images/sun.pngbin0 -> 8153 bytes
-rwxr-xr-xexamples/declarative/landmarkmap/landmarkmapmobile/images/titlebar.pngbin0 -> 1436 bytes
-rwxr-xr-xexamples/declarative/landmarkmap/landmarkmapmobile/images/titlebar.sci5
-rwxr-xr-xexamples/declarative/landmarkmap/landmarkmapmobile/images/toolbutton.pngbin0 -> 2550 bytes
-rwxr-xr-xexamples/declarative/landmarkmap/landmarkmapmobile/images/toolbutton.sci5
-rw-r--r--examples/declarative/landmarkmap/mylm.lmx61
-rwxr-xr-xexamples/declarative/landmarkmap/nmealog.txt1403
-rw-r--r--examples/declarative/landmarkmap/qmllandmarkmap.cpp64
-rwxr-xr-xexamples/declarative/mapviewer/TitleBar.qml76
-rw-r--r--examples/declarative/mapviewer/mapviewer.pro19
-rw-r--r--examples/declarative/mapviewer/mapviewer.qml128
-rw-r--r--examples/declarative/mapviewer/mapviewer.qrc9
-rw-r--r--examples/declarative/mapviewer/qmlmapviewer.cpp62
-rwxr-xr-xexamples/declarative/mapviewer/quit.pngbin0 -> 2369 bytes
-rwxr-xr-xexamples/declarative/mapviewer/titlebar.pngbin0 -> 1436 bytes
-rwxr-xr-xexamples/declarative/mapviewer/titlebar.sci5
-rw-r--r--examples/examples.pro2
-rw-r--r--qtlocation.pro9
93 files changed, 8115 insertions, 7 deletions
diff --git a/.gitignore b/.gitignore
index 2eb894a8..60f2b916 100644
--- a/.gitignore
+++ b/.gitignore
@@ -6,6 +6,7 @@ examples/*/*/*
!examples/*/*/README
examples/*/*/*[.]app
!examples/declarative/*
+!examples/declarative/*/*
!examples/tutorials/*
!examples/tutorials/*/*
!examples/ja_JP/*/*
@@ -19,6 +20,8 @@ config.tests/*/*/*
!config.tests/*/*/*[.]*
config.tests/*/*/*[.]app
+qml_location_*
+
callgrind.out.*
pcviewer.cfg
*~
diff --git a/demos/demos.pro b/demos/demos.pro
new file mode 100644
index 00000000..8cff09b3
--- /dev/null
+++ b/demos/demos.pro
@@ -0,0 +1,2 @@
+TEMPLATE = subdirs
+SUBDIRS += mapsdemo
diff --git a/demos/mapsdemo/icons/endmarker.png b/demos/mapsdemo/icons/endmarker.png
new file mode 100644
index 00000000..5701d916
--- /dev/null
+++ b/demos/mapsdemo/icons/endmarker.png
Binary files differ
diff --git a/demos/mapsdemo/icons/mylocation.png b/demos/mapsdemo/icons/mylocation.png
new file mode 100644
index 00000000..877adbb1
--- /dev/null
+++ b/demos/mapsdemo/icons/mylocation.png
Binary files differ
diff --git a/demos/mapsdemo/icons/pathmarker.png b/demos/mapsdemo/icons/pathmarker.png
new file mode 100644
index 00000000..ae046384
--- /dev/null
+++ b/demos/mapsdemo/icons/pathmarker.png
Binary files differ
diff --git a/demos/mapsdemo/icons/searchmarker.png b/demos/mapsdemo/icons/searchmarker.png
new file mode 100644
index 00000000..4c3c4d84
--- /dev/null
+++ b/demos/mapsdemo/icons/searchmarker.png
Binary files differ
diff --git a/demos/mapsdemo/icons/startmarker.png b/demos/mapsdemo/icons/startmarker.png
new file mode 100644
index 00000000..d188161e
--- /dev/null
+++ b/demos/mapsdemo/icons/startmarker.png
Binary files differ
diff --git a/demos/mapsdemo/icons/waypointmarker.png b/demos/mapsdemo/icons/waypointmarker.png
new file mode 100644
index 00000000..6dd1acfa
--- /dev/null
+++ b/demos/mapsdemo/icons/waypointmarker.png
Binary files differ
diff --git a/demos/mapsdemo/main.cpp b/demos/mapsdemo/main.cpp
new file mode 100644
index 00000000..50fd3043
--- /dev/null
+++ b/demos/mapsdemo/main.cpp
@@ -0,0 +1,89 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the Qt Mobility Components.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/* Part of the Maps Demo tutorial */
+/* You probably want to read it first, look under Tutorials in
+ the Mobility documentation */
+
+#include "mainwindow.h"
+
+#include <QApplication>
+#include <QList>
+#include <QString>
+#include <QUrl>
+#include <QSettings>
+#include <QProcessEnvironment>
+#include <QNetworkProxyFactory>
+
+#include "qgeoserviceprovider.h"
+
+int main(int argc, char *argv[])
+{
+ QApplication a(argc, argv);
+
+ // not in the tutorial text: set up a proxy server from
+ // a QSettings file if necessary (useful on Linux)
+
+ QApplication::setOrganizationName("Nokia");
+ QApplication::setApplicationName("MapsDemo");
+
+ QSettings settings;
+
+ QVariant value = settings.value("http.proxy");
+ if (value.isValid()) {
+ QUrl url(value.toString(), QUrl::TolerantMode);
+ QNetworkProxy proxy;
+ proxy.setType(QNetworkProxy::HttpProxy);
+ proxy.setHostName(url.host());
+ proxy.setPort(url.port(8080));
+ QNetworkProxy::setApplicationProxy(proxy);
+ }
+
+ // launch the main window
+ MainWindow mw;
+#if defined(Q_OS_SYMBIAN) || defined(Q_WS_MAEMO_5) || defined(Q_WS_SIMULATOR)
+ mw.showMaximized();
+#else
+ mw.resize(360,640);
+ mw.show();
+#endif
+ return a.exec();
+}
diff --git a/demos/mapsdemo/mainwindow.cpp b/demos/mapsdemo/mainwindow.cpp
new file mode 100644
index 00000000..69f204fd
--- /dev/null
+++ b/demos/mapsdemo/mainwindow.cpp
@@ -0,0 +1,286 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the Qt Mobility Components.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "mainwindow.h"
+#include "navigator.h"
+
+#include <QCoreApplication>
+#include <QMenuBar>
+#include <QMenu>
+#include <QMessageBox>
+#include <QAction>
+#include <QVBoxLayout>
+
+MainWindow::MainWindow() :
+ serviceProvider(0),
+ markerManager(0),
+ positionSource(0),
+ lastNavigator(0),
+ tracking(true),
+ firstUpdate(true)
+{
+ // our actual maps widget is the centre of the mainwindow
+ mapsWidget = new MapsWidget;
+ setCentralWidget(mapsWidget);
+
+ // set up the menus
+ QMenuBar *mbar = new QMenuBar(this);
+ mbar->addAction("Quit", qApp, SLOT(quit()));
+ mbar->addAction("My Location", this, SLOT(goToMyLocation()));
+
+ QMenu *searchMenu = new QMenu("Search");
+ mbar->addMenu(searchMenu);
+
+ searchMenu->addAction("For address or name", this, SLOT(showSearchDialog()));
+
+ QMenu *navigateMenu = new QMenu("Directions");
+ mbar->addMenu(navigateMenu);
+
+ navigateMenu->addAction("From here to address", this, SLOT(showNavigateDialog()));
+
+ setMenuBar(mbar);
+ setWindowTitle("Maps Demo");
+
+ // now begin the process of opening the network link
+ netConfigManager = new QNetworkConfigurationManager;
+ connect(netConfigManager, SIGNAL(updateCompleted()),
+ this, SLOT(openNetworkSession()));
+ netConfigManager->updateConfigurations();
+}
+
+void MainWindow::openNetworkSession()
+{
+ // use the default network configuration and make sure that
+ // the link is open
+ session = new QNetworkSession(netConfigManager->defaultConfiguration());
+ if (session->isOpen()) {
+ initialize();
+ } else {
+ connect(session, SIGNAL(opened()),
+ this, SLOT(initialize()));
+ session->open();
+ }
+}
+
+MainWindow::~MainWindow()
+{
+ delete mapsWidget;
+ if (serviceProvider)
+ delete serviceProvider;
+ if (markerManager)
+ delete markerManager;
+}
+
+void MainWindow::goToMyLocation()
+{
+ mapsWidget->animatedPanTo(markerManager->myLocation());
+ mapsWidget->map()->setFocus();
+ tracking = true;
+}
+
+void MainWindow::initialize()
+{
+ if (serviceProvider)
+ delete serviceProvider;
+
+ // check we have a valid default provider
+
+ QList<QString> providers = QGeoServiceProvider::availableServiceProviders();
+ if (providers.size() < 1) {
+ QMessageBox::information(this, tr("Maps Demo"),
+ tr("No service providers are available"));
+ QCoreApplication::quit();
+ return;
+ }
+
+ foreach (QString provider, providers) {
+ serviceProvider = new QGeoServiceProvider(provider);
+ if (serviceProvider->mappingManager() &&
+ serviceProvider->searchManager() &&
+ serviceProvider->routingManager())
+ break;
+ }
+
+ if (serviceProvider->error() != QGeoServiceProvider::NoError) {
+ QMessageBox::information(this, tr("Maps Demo"),
+ tr("Error loading geoservice plugin"));
+ QCoreApplication::quit();
+ return;
+ }
+
+ if (!serviceProvider->mappingManager() ||
+ !serviceProvider->searchManager() ||
+ !serviceProvider->routingManager()) {
+ QMessageBox::information(this, tr("Maps Demo"),
+ tr("No geoservice found with mapping/search/routing"));
+ QCoreApplication::quit();
+ return;
+ }
+
+ // start initialising things (maps, searching, routing)
+
+ mapsWidget->initialize(serviceProvider->mappingManager());
+
+ if (markerManager)
+ delete markerManager;
+ markerManager = new MarkerManager(serviceProvider->searchManager());
+ mapsWidget->setMarkerManager(markerManager);
+
+ connect(markerManager, SIGNAL(searchError(QGeoSearchReply::Error,QString)),
+ this, SLOT(showErrorMessage(QGeoSearchReply::Error,QString)));
+ connect(mapsWidget, SIGNAL(markerClicked(Marker*)),
+ this, SLOT(showMarkerDialog(Marker*)));
+ connect(mapsWidget, SIGNAL(mapPanned()),
+ this, SLOT(disableTracking()));
+
+ if (positionSource)
+ delete positionSource;
+
+ // set up position feeds (eg GPS)
+
+ positionSource = QGeoPositionInfoSource::createDefaultSource(this);
+
+ if (!positionSource) {
+ mapsWidget->statusBar()->showText("Could not open GPS", 5000);
+ mapsWidget->setMyLocation(QGeoCoordinate(-27.5796, 153.1));
+ //mapsWidget->setMyLocation(QGeoCoordinate(21.1813, -86.8455));
+ } else {
+ positionSource->setUpdateInterval(1000);
+ connect(positionSource, SIGNAL(positionUpdated(QGeoPositionInfo)),
+ this, SLOT(updateMyPosition(QGeoPositionInfo)));
+ positionSource->startUpdates();
+ mapsWidget->statusBar()->showText("Opening GPS...");
+ }
+}
+
+void MainWindow::disableTracking()
+{
+ tracking = false;
+}
+
+void MainWindow::updateMyPosition(QGeoPositionInfo info)
+{
+ if (mapsWidget) {
+ mapsWidget->setMyLocation(info.coordinate(), false);
+ if (tracking)
+ mapsWidget->animatedPanTo(info.coordinate());
+ if (firstUpdate)
+ mapsWidget->statusBar()->showText("Receiving from GPS");
+ }
+
+ firstUpdate = false;
+}
+
+void MainWindow::showNavigateDialog()
+{
+ NavigateDialog nd;
+ if (nd.exec() == QDialog::Accepted) {
+ if (markerManager) {
+ QGeoRouteRequest req;
+
+ req.setTravelModes(nd.travelMode());
+
+ // tell the old navigator instance to delete itself
+ // so that its map objects will disappear
+ if (lastNavigator)
+ lastNavigator->deleteLater();
+
+ Navigator *nvg = new Navigator(serviceProvider->routingManager(),
+ serviceProvider->searchManager(),
+ mapsWidget, nd.destinationAddress(),
+ req);
+
+ lastNavigator = nvg;
+
+ connect(nvg, SIGNAL(searchError(QGeoSearchReply::Error,QString)),
+ this, SLOT(showErrorMessage(QGeoSearchReply::Error,QString)));
+ connect(nvg, SIGNAL(routingError(QGeoRouteReply::Error,QString)),
+ this, SLOT(showErrorMessage(QGeoRouteReply::Error,QString)));
+
+ mapsWidget->statusBar()->setText("Routing...");
+ mapsWidget->statusBar()->show();
+
+ nvg->start();
+
+ connect(nvg, SIGNAL(finished()),
+ mapsWidget->statusBar(), SLOT(hide()));
+
+ mapsWidget->map()->setFocus();
+ }
+ }
+}
+
+void MainWindow::showSearchDialog()
+{
+ SearchDialog sd;
+ if (sd.exec() == QDialog::Accepted) {
+ if (markerManager) {
+ markerManager->removeSearchMarkers();
+ markerManager->search(sd.searchTerms(), sd.radius());
+ mapsWidget->map()->setFocus();
+ }
+ }
+}
+
+void MainWindow::showErrorMessage(QGeoSearchReply::Error err, QString msg)
+{
+ Q_UNUSED(err)
+ QMessageBox::critical(this, tr("Error"), msg);
+ mapsWidget->statusBar()->hide();
+ mapsWidget->map()->setFocus();
+}
+
+void MainWindow::showErrorMessage(QGeoRouteReply::Error err, QString msg)
+{
+ Q_UNUSED(err)
+ QMessageBox::critical(this, tr("Error"), msg);
+ mapsWidget->statusBar()->hide();
+ mapsWidget->map()->setFocus();
+}
+
+void MainWindow::showMarkerDialog(Marker *marker)
+{
+ MarkerDialog md(marker);
+ if (md.exec() == QDialog::Accepted) {
+ md.updateMarker();
+ mapsWidget->map()->setFocus();
+ }
+}
diff --git a/demos/mapsdemo/mainwindow.h b/demos/mapsdemo/mainwindow.h
new file mode 100644
index 00000000..b47f4aaa
--- /dev/null
+++ b/demos/mapsdemo/mainwindow.h
@@ -0,0 +1,98 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the Qt Mobility Components.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef MAINWINDOW_H
+#define MAINWINDOW_H
+
+#include <QMainWindow>
+#include <qnetworksession.h>
+#include <qnetworkconfigmanager.h>
+
+#include "qgeoserviceprovider.h"
+#include "qgeopositioninfosource.h"
+#include "qgeoroutereply.h"
+
+#include "mapswidget.h"
+#include "marker.h"
+#include "searchdialog.h"
+#include "markerdialog.h"
+#include "navigatedialog.h"
+#include "navigator.h"
+
+class MainWindow : public QMainWindow
+{
+ Q_OBJECT
+public:
+ MainWindow();
+ ~MainWindow();
+
+public slots:
+ void initialize();
+
+private slots:
+ void showSearchDialog();
+ void showNavigateDialog();
+ void showMarkerDialog(Marker *marker);
+ void goToMyLocation();
+
+ void updateMyPosition(QGeoPositionInfo info);
+ void disableTracking();
+
+ void showErrorMessage(QGeoSearchReply::Error err, QString msg);
+ void showErrorMessage(QGeoRouteReply::Error err, QString msg);
+
+ void openNetworkSession();
+
+private:
+ QGeoServiceProvider *serviceProvider;
+ MapsWidget *mapsWidget;
+ MarkerManager *markerManager;
+ QGeoPositionInfoSource *positionSource;
+ Navigator *lastNavigator;
+
+ QNetworkSession *session;
+ QNetworkConfigurationManager *netConfigManager;
+
+ bool tracking;
+ bool firstUpdate;
+};
+
+#endif // MAINWINDOW_H
diff --git a/demos/mapsdemo/mapsdemo.pro b/demos/mapsdemo/mapsdemo.pro
new file mode 100644
index 00000000..9c2bb26b
--- /dev/null
+++ b/demos/mapsdemo/mapsdemo.pro
@@ -0,0 +1,41 @@
+TEMPLATE = app
+TARGET = mapsdemo
+
+CONFIG += qt warn_on
+
+QT += network location
+
+
+RESOURCES += mapsdemo.qrc
+
+symbian: {
+ TARGET.CAPABILITY = Location \
+ NetworkServices \
+ ReadUserData \
+ WriteUserData
+}
+
+HEADERS += \
+ mapswidget.h \
+ marker.h \
+ mainwindow.h \
+ searchdialog.h \
+ markerdialog.h \
+ navigatedialog.h \
+ navigator.h
+
+SOURCES += \
+ mapswidget.cpp \
+ main.cpp \
+ marker.cpp \
+ mainwindow.cpp \
+ searchdialog.cpp \
+ markerdialog.cpp \
+ navigatedialog.cpp \
+ navigator.cpp
+
+#install
+target.path = $$[QT_INSTALL_DEMOS]/qtlocation/mapsdemo
+sources.files = $$SOURCES $HEADERS $$RESOURCES $$FORMS *.pro
+sources.path = $$[QT_INSTALL_DEMOS]/qtlocation/mapsdemo
+INSTALLS += target sources
diff --git a/demos/mapsdemo/mapsdemo.qrc b/demos/mapsdemo/mapsdemo.qrc
new file mode 100644
index 00000000..a46ea7db
--- /dev/null
+++ b/demos/mapsdemo/mapsdemo.qrc
@@ -0,0 +1,12 @@
+<!DOCTYPE RCC>
+ <RCC version="1.0">
+
+ <qresource prefix="/">
+ <file>icons/mylocation.png</file>
+ <file>icons/startmarker.png</file>
+ <file>icons/endmarker.png</file>
+ <file>icons/pathmarker.png</file>
+ <file>icons/searchmarker.png</file>
+ <file>icons/waypointmarker.png</file>
+ </qresource>
+ </RCC>
diff --git a/demos/mapsdemo/mapswidget.cpp b/demos/mapsdemo/mapswidget.cpp
new file mode 100644
index 00000000..5328a570
--- /dev/null
+++ b/demos/mapsdemo/mapswidget.cpp
@@ -0,0 +1,531 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the Qt Mobility Components.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "mapswidget.h"
+#include "marker.h"
+
+#include <QGraphicsSceneMouseEvent>
+#include <QGraphicsSceneWheelEvent>
+#include <QPropertyAnimation>
+#include <QParallelAnimationGroup>
+#include <QTimer>
+
+#include "qgeocoordinate.h"
+
+GeoMap::GeoMap(QGeoMappingManager *manager, MapsWidget *mapsWidget) :
+ QGraphicsGeoMap(manager),
+ mapsWidget(mapsWidget),
+ panActive(false),
+ markerPressed(false),
+ pressed(0)
+{
+ this->setFocus();
+}
+
+GeoMap::~GeoMap()
+{
+}
+
+double GeoMap::centerLatitude() const
+{
+ return center().latitude();
+}
+
+double GeoMap::centerLongitude() const
+{
+ return center().longitude();
+}
+
+void GeoMap::setCenterLatitude(double lat)
+{
+ QGeoCoordinate c = center();
+ c.setLatitude(lat);
+ setCenter(c);
+}
+
+void GeoMap::setCenterLongitude(double lon)
+{
+ QGeoCoordinate c = center();
+ c.setLongitude(lon);
+ setCenter(c);
+}
+
+void GeoMap::mousePressEvent(QGraphicsSceneMouseEvent *event)
+{
+ panActive = true;
+ markerPressed = false;
+ QList<QGeoMapObject*> objects = mapObjectsAtScreenPosition(event->pos());
+ if (objects.size() > 0) {
+ pressed = objects.first();
+ markerPressed = true;
+ }
+
+ this->setFocus();
+ event->accept();
+}
+
+void GeoMap::mouseReleaseEvent(QGraphicsSceneMouseEvent *event)
+{
+ panActive = false;
+
+ if (markerPressed) {
+ // check if we're still over the object
+ QList<QGeoMapObject*> objects = mapObjectsAtScreenPosition(event->pos());
+ if (objects.contains(pressed)) {
+ Marker *m = dynamic_cast<Marker*>(pressed);
+ if (m)
+ emit clicked(m);
+ }
+
+ markerPressed = false;
+ }
+
+ this->setFocus();
+ event->accept();
+}
+
+void GeoMap::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
+{
+ if (panActive) {
+ QPointF delta = event->lastPos() - event->pos();
+ pan(delta.x(), delta.y());
+ emit panned();
+ }
+ this->setFocus();
+ event->accept();
+}
+
+void GeoMap::wheelEvent(QGraphicsSceneWheelEvent *event)
+{
+ // pan our current point to the centre, zoom, then pan back
+
+ qreal panx = event->pos().x() - size().width() / 2.0;
+ qreal pany = event->pos().y() - size().height() / 2.0;
+ pan(panx, pany);
+ if (event->delta() > 0) { // zoom in
+ if (zoomLevel() < maximumZoomLevel()) {
+ setZoomLevel(zoomLevel() + 1);
+ }
+ } else { // zoom out
+ if (zoomLevel() > minimumZoomLevel()) {
+ setZoomLevel(zoomLevel() - 1);
+ }
+ }
+ pan(-panx, -pany);
+ this->setFocus();
+ event->accept();
+}
+
+void GeoMap::keyPressEvent(QKeyEvent *event)
+{
+ QGeoCoordinate center;
+ QPropertyAnimation *anim;
+ const qreal width = size().width();
+ const qreal height = size().height();
+
+ switch (event->key()) {
+ case Qt::Key_4:
+ case Qt::Key_Left:
+ center = screenPositionToCoordinate(
+ QPointF(width/2 - width/5, height/2));
+ anim = new QPropertyAnimation(this, "centerLongitude");
+ anim->setEndValue(center.longitude());
+ anim->setDuration(200);
+ anim->start(QAbstractAnimation::DeleteWhenStopped);
+ break;
+ case Qt::Key_6:
+ case Qt::Key_Right:
+ center = screenPositionToCoordinate(
+ QPointF(width/2 + width/5, height/2));
+ anim = new QPropertyAnimation(this, "centerLongitude");
+ anim->setEndValue(center.longitude());
+ anim->setDuration(200);
+ anim->start(QAbstractAnimation::DeleteWhenStopped);
+ break;
+ case Qt::Key_2:
+ case Qt::Key_Up:
+ center = screenPositionToCoordinate(
+ QPointF(width/2, height/2 - height/5));
+ anim = new QPropertyAnimation(this, "centerLatitude");
+ anim->setEndValue(center.latitude());
+ anim->setDuration(200);
+ anim->start(QAbstractAnimation::DeleteWhenStopped);
+ break;
+ case Qt::Key_8:
+ case Qt::Key_Down:
+ center = screenPositionToCoordinate(
+ QPointF(width/2, height/2 + height/5));
+ anim = new QPropertyAnimation(this, "centerLatitude");
+ anim->setEndValue(center.latitude());
+ anim->setDuration(200);
+ anim->start(QAbstractAnimation::DeleteWhenStopped);
+ break;
+ case Qt::Key_1:
+ if (zoomLevel() > minimumZoomLevel()) {
+ setZoomLevel(zoomLevel() - 1);
+ }
+ break;
+ case Qt::Key_3:
+ if (zoomLevel() < maximumZoomLevel()) {
+ setZoomLevel(zoomLevel() + 1);
+ }
+ break;
+ }
+ this->setFocus();
+ event->accept();
+}
+
+
+class ZoomButtonItemPrivate
+{
+public:
+ GeoMap *map;
+
+ QGraphicsSimpleTextItem *plusText;
+ QGraphicsSimpleTextItem *minusText;
+
+ bool pressedOverTopHalf;
+ bool pressedOverBottomHalf;
+};
+
+ZoomButtonItem::ZoomButtonItem(GeoMap *map) :
+ d(new ZoomButtonItemPrivate)
+{
+ d->map = map;
+ d->pressedOverBottomHalf = false;
+ d->pressedOverTopHalf = false;
+
+ setPen(QPen(QBrush(), 0));
+ setBrush(QBrush(QColor(0,0,0,150)));
+
+ d->plusText = new QGraphicsSimpleTextItem(this);
+ d->plusText->setText("+");
+ d->plusText->setBrush(QBrush(Qt::white));
+
+ d->minusText = new QGraphicsSimpleTextItem(this);
+ d->minusText->setText("-");
+ d->minusText->setBrush(QBrush(Qt::white));
+}
+
+void ZoomButtonItem::setRect(qreal x, qreal y, qreal w, qreal h)
+{
+ QGraphicsRectItem::setRect(x, y, w, h);
+
+ QFont f;
+ f.setFixedPitch(true);
+ f.setPixelSize(h/5.0);
+ d->plusText->setFont(f);
+ d->minusText->setFont(f);
+
+ QRectF plusBound = d->plusText->boundingRect();
+ QPointF plusCenter(x+w/2.0, y+h/4.0);
+ QPointF plusDelta = plusCenter - plusBound.center();
+ d->plusText->setPos(plusDelta);
+
+ QRectF minusBound = d->minusText->boundingRect();
+ QPointF minusCenter(x+w/2.0, y+3.0*h/4.0);
+ QPointF minusDelta = minusCenter - minusBound.center();
+ d->minusText->setPos(minusDelta);
+}
+
+void ZoomButtonItem::mousePressEvent(QGraphicsSceneMouseEvent *event)
+{
+ const QPointF pos = event->pos();
+ if (!d->pressedOverTopHalf && !d->pressedOverBottomHalf) {
+ if (isTopHalf(pos)) {
+ d->pressedOverTopHalf = true;
+ } else if (isBottomHalf(pos)) {
+ d->pressedOverBottomHalf = true;
+ }
+ }
+ d->map->setFocus();
+ event->accept();
+}
+
+bool ZoomButtonItem::isTopHalf(const QPointF &point)
+{
+ return QRectF(rect().x(), rect().y(),
+ rect().width(), rect().height()/2).contains(point);
+}
+
+bool ZoomButtonItem::isBottomHalf(const QPointF &point)
+{
+ return QRectF(rect().x(), rect().y() + rect().height()/2,
+ rect().width(), rect().height()/2).contains(point);
+}
+
+void ZoomButtonItem::mouseReleaseEvent(QGraphicsSceneMouseEvent *event)
+{
+ const QPointF pos = event->pos();
+ if (isTopHalf(pos) && d->pressedOverTopHalf) {
+ d->map->setZoomLevel(d->map->zoomLevel() + 1.0);
+ } else if (isBottomHalf(pos) && d->pressedOverBottomHalf) {
+ d->map->setZoomLevel(d->map->zoomLevel() - 1.0);
+ }
+ d->pressedOverBottomHalf = false;
+ d->pressedOverTopHalf = false;
+ d->map->setFocus();
+ event->accept();
+}
+
+void ZoomButtonItem::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
+{
+ event->accept();
+}
+
+
+class StatusBarItemPrivate
+{
+public:
+ int offset;
+ QGraphicsSimpleTextItem *textItem;
+};
+
+StatusBarItem::StatusBarItem() :
+ d(new StatusBarItemPrivate)
+{
+ d->offset = 0;
+
+ setPen(QPen(QBrush(), 0));
+ setBrush(QBrush(QColor(0,0,0,120)));
+
+ d->textItem = new QGraphicsSimpleTextItem(this);
+ d->textItem->setBrush(QBrush(Qt::white));
+
+ setText("");
+}
+
+StatusBarItem::~StatusBarItem()
+{
+}
+
+void StatusBarItem::setText(QString text)
+{
+ d->textItem->setText(text);
+ QRectF rect = d->textItem->boundingRect();
+ QPointF delta = this->rect().center() - rect.center();
+ d->textItem->setPos(delta.x(), delta.y());
+}
+
+int StatusBarItem::offset() const
+{
+ return d->offset;
+}
+
+void StatusBarItem::setRect(qreal x, qreal y, qreal w, qreal h)
+{
+ QGraphicsRectItem::setRect(x, y + d->offset, w, h);
+ setText(d->textItem->text());
+}
+
+void StatusBarItem::setOffset(int offset)
+{
+ this->setY(this->y() - d->offset + offset);
+ d->offset = offset;
+}
+
+void StatusBarItem::showText(QString text, quint32 timeout)
+{
+ setText(text);
+ show();
+ QTimer::singleShot(timeout, this, SLOT(hide()));
+}
+
+void StatusBarItem::show()
+{
+ QPropertyAnimation *anim = new QPropertyAnimation(this, "offset");
+ anim->setStartValue(0);
+ anim->setEndValue(-1 * rect().height());
+ anim->setDuration(500);
+ anim->start(QAbstractAnimation::DeleteWhenStopped);
+}
+
+void StatusBarItem::hide()
+{
+ QPropertyAnimation *anim = new QPropertyAnimation(this, "offset");
+ anim->setStartValue(d->offset);
+ anim->setEndValue(0);
+ anim->setDuration(500);
+ anim->start(QAbstractAnimation::DeleteWhenStopped);
+}
+
+
+FixedGraphicsView::FixedGraphicsView(QWidget *parent) :
+ QGraphicsView(parent)
+{
+}
+
+void FixedGraphicsView::scrollContentsBy(int dx, int dy)
+{
+ Q_UNUSED(dx)
+ Q_UNUSED(dy)
+}
+
+
+class MapsWidgetPrivate
+{
+public:
+ GeoMap *map;
+ QGraphicsView *view;
+ MarkerManager *markerManager;
+ StatusBarItem *statusBarItem;
+ ZoomButtonItem *zoomButtonItem;
+};
+
+MapsWidget::MapsWidget(QWidget *parent) :
+ QWidget(parent),
+ d(new MapsWidgetPrivate)
+{
+ d->map = 0;
+ d->view = 0;
+ d->markerManager = 0;
+}
+
+MapsWidget::~MapsWidget()
+{
+}
+
+void MapsWidget::initialize(QGeoMappingManager *manager)
+{
+ d->map = new GeoMap(manager, this);
+ if (d->markerManager)
+ d->markerManager->setMap(d->map);
+
+ connect(d->map, SIGNAL(clicked(Marker*)),
+ this, SIGNAL(markerClicked(Marker*)));
+ connect(d->map, SIGNAL(panned()),
+ this, SIGNAL(mapPanned()));
+
+ QGraphicsScene *sc = new QGraphicsScene;
+ sc->addItem(d->map);
+
+ d->map->setPos(0, 0);
+ d->map->resize(this->size());
+ d->view = new FixedGraphicsView(this);
+ d->view->setVisible(true);
+ d->view->setInteractive(true);
+ d->view->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
+ d->view->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
+ d->view->setScene(sc);
+
+ d->statusBarItem = new StatusBarItem;
+ sc->addItem(d->statusBarItem);
+
+ d->zoomButtonItem = new ZoomButtonItem(d->map);
+ sc->addItem(d->zoomButtonItem);
+
+ d->view->resize(this->size());
+ d->view->centerOn(d->map);
+ resizeEvent(0);
+ d->map->setCenter(QGeoCoordinate(-27.5796, 153.1));
+ d->map->setZoomLevel(15);
+}
+
+void MapsWidget::setMyLocation(QGeoCoordinate location, bool center)
+{
+ if (d->markerManager)
+ d->markerManager->setMyLocation(location);
+ if (d->map && center)
+ d->map->setCenter(location);
+}
+
+QGraphicsGeoMap *MapsWidget::map() const
+{
+ return d->map;
+}
+
+StatusBarItem *MapsWidget::statusBar() const
+{
+ return d->statusBarItem;
+}
+
+void MapsWidget::resizeEvent(QResizeEvent *event)
+{
+ Q_UNUSED(event)
+
+ if (d->view && d->map) {
+ d->view->resize(size());
+ d->map->resize(width()-2, height()-2);
+ d->view->centerOn(d->map);
+ d->statusBarItem->setRect(0, height()-2, width()-2, 20);
+ d->zoomButtonItem->setRect((width()-2)-(width()-2)/10.0,
+ (height()-2)/2.0 - (height()-2)/6.0,
+ (width()-2)/10.0,
+ (height()-2)/3.0);
+ }
+}
+
+void MapsWidget::animatedPanTo(QGeoCoordinate center)
+{
+ if (!d->map)
+ return;
+
+ QPropertyAnimation *latAnim = new QPropertyAnimation(d->map, "centerLatitude");
+ latAnim->setEndValue(center.latitude());
+ latAnim->setDuration(200);
+ QPropertyAnimation *lonAnim = new QPropertyAnimation(d->map, "centerLongitude");
+ lonAnim->setEndValue(center.longitude());
+ lonAnim->setDuration(200);
+
+ QParallelAnimationGroup *group = new QParallelAnimationGroup;
+ group->addAnimation(latAnim);
+ group->addAnimation(lonAnim);
+ group->start(QAbstractAnimation::DeleteWhenStopped);
+}
+
+void MapsWidget::showEvent(QShowEvent *event)
+{
+ Q_UNUSED(event)
+ resizeEvent(0);
+}
+
+MarkerManager *MapsWidget::markerManager() const
+{
+ return d->markerManager;
+}
+
+void MapsWidget::setMarkerManager(MarkerManager *markerManager)
+{
+ d->markerManager = markerManager;
+ if (d->map)
+ d->markerManager->setMap(d->map);
+ d->markerManager->setStatusBar(d->statusBarItem);
+}
diff --git a/demos/mapsdemo/mapswidget.h b/demos/mapsdemo/mapswidget.h
new file mode 100644
index 00000000..289555db
--- /dev/null
+++ b/demos/mapsdemo/mapswidget.h
@@ -0,0 +1,191 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the Qt Mobility Components.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef MAPSWIDGET_H
+#define MAPSWIDGET_H
+
+#include <QGraphicsView>
+#include <QGraphicsScene>
+#include <QWidget>
+#include <QGraphicsRectItem>
+#include <QGraphicsSimpleTextItem>
+
+#include "qgraphicsgeomap.h"
+#include "qgeomappingmanager.h"
+#include "qgeocoordinate.h"
+
+class MapsWidget;
+class MarkerManager;
+class Marker;
+class StatusBarItem;
+class ZoomButtonItem;
+
+// The graphics item that actually contains the map
+class GeoMap : public QGraphicsGeoMap
+{
+ Q_OBJECT
+
+ Q_PROPERTY(double centerLatitude READ centerLatitude WRITE setCenterLatitude)
+ Q_PROPERTY(double centerLongitude READ centerLongitude WRITE setCenterLongitude)
+
+public:
+ explicit GeoMap(QGeoMappingManager *manager, MapsWidget *mapsWidget);
+ ~GeoMap();
+
+ double centerLatitude() const;
+ void setCenterLatitude(double lat);
+ double centerLongitude() const;
+ void setCenterLongitude(double lon);
+
+private:
+ MapsWidget *mapsWidget;
+
+ bool panActive;
+ bool markerPressed;
+ QGeoMapObject *pressed;
+
+ void mousePressEvent(QGraphicsSceneMouseEvent *event);
+ void mouseReleaseEvent(QGraphicsSceneMouseEvent *event);
+ void mouseMoveEvent(QGraphicsSceneMouseEvent *event);
+ void wheelEvent(QGraphicsSceneWheelEvent *event);
+ void keyPressEvent(QKeyEvent *event);
+
+signals:
+ void clicked(Marker *marker);
+ void panned();
+};
+
+class FixedGraphicsView : public QGraphicsView
+{
+ Q_OBJECT
+
+public:
+ FixedGraphicsView(QWidget *parent);
+
+protected:
+ void scrollContentsBy(int dx, int dy);
+};
+
+// A widget to hold the view and scene for a GeoMap, as well
+// as control widgets
+class MapsWidgetPrivate;
+class MapsWidget : public QWidget
+{
+ Q_OBJECT
+
+public:
+ explicit MapsWidget(QWidget *parent = 0);
+ ~MapsWidget();
+
+ void setMarkerManager(MarkerManager *markerManager);
+ MarkerManager *markerManager() const;
+
+ QGraphicsGeoMap *map() const;
+ StatusBarItem *statusBar() const;
+
+ void animatedPanTo(QGeoCoordinate center);
+ void setMyLocation(QGeoCoordinate location, bool center=true);
+
+public slots:
+ void initialize(QGeoMappingManager *manager);
+
+signals:
+ void markerClicked(Marker *marker);
+ void mapPanned();
+
+private:
+ MapsWidgetPrivate *d;
+
+ void resizeEvent(QResizeEvent *event);
+ void showEvent(QShowEvent *event);
+};
+
+// An animated status bar item that appears at the bottom
+// of the map
+class StatusBarItemPrivate;
+class StatusBarItem : public QObject, public QGraphicsRectItem
+{
+ Q_OBJECT
+ Q_PROPERTY(int offset READ offset WRITE setOffset)
+
+public:
+ explicit StatusBarItem();
+ ~StatusBarItem();
+
+ int offset() const;
+ void setRect(qreal x, qreal y, qreal w, qreal h);
+
+public slots:
+ void setText(QString text);
+
+ void showText(QString text, quint32 timeout=3000);
+ void show();
+ void hide();
+
+ void setOffset(int offset);
+
+private:
+ StatusBarItemPrivate *d;
+};
+
+// Zoom in / zoom out buttons, touch-friendly, appearing on the
+// side of the map
+class ZoomButtonItemPrivate;
+class ZoomButtonItem : public QGraphicsRectItem
+{
+public:
+ explicit ZoomButtonItem(GeoMap *map);
+
+ void setRect(qreal x, qreal y, qreal w, qreal h);
+
+private:
+ ZoomButtonItemPrivate *d;
+
+ bool isTopHalf(const QPointF &point);
+ bool isBottomHalf(const QPointF &point);
+
+protected:
+ void mousePressEvent(QGraphicsSceneMouseEvent *event);
+ void mouseReleaseEvent(QGraphicsSceneMouseEvent *event);
+ void mouseMoveEvent(QGraphicsSceneMouseEvent *event);
+};
+
+#endif // MAPSWIDGET_H
diff --git a/demos/mapsdemo/marker.cpp b/demos/mapsdemo/marker.cpp
new file mode 100644
index 00000000..fee02ada
--- /dev/null
+++ b/demos/mapsdemo/marker.cpp
@@ -0,0 +1,332 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the Qt Mobility Components.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "marker.h"
+#include "mapswidget.h"
+
+#include <QPixmap>
+
+#include "qlandmark.h"
+#include "qgeoboundingcircle.h"
+
+class MarkerPrivate
+{
+public:
+ Marker::MarkerType type;
+ QString name;
+ bool moveable;
+ QGeoAddress address;
+};
+
+Marker::Marker(MarkerType type) :
+ QGeoMapPixmapObject(),
+ d(new MarkerPrivate)
+{
+ setMarkerType(type);
+}
+
+void Marker::setMarkerType(MarkerType type)
+{
+ QString filename;
+ QPoint offset;
+ int scale;
+
+ d->type = type;
+
+ switch (d->type) {
+ case MyLocationMarker:
+ filename = ":/icons/mylocation.png";
+ break;
+ case SearchMarker:
+ filename = ":/icons/searchmarker.png";
+ break;
+ case WaypointMarker:
+ filename = ":/icons/waypointmarker.png";
+ break;
+ case StartMarker:
+ filename = ":/icons/startmarker.png";
+ break;
+ case EndMarker:
+ filename = ":/icons/endmarker.png";
+ break;
+ case PathMarker:
+ filename = ":/icons/pathmarker.png";
+ break;
+ }
+
+ if (d->type == MyLocationMarker) {
+ offset = QPoint(-13,-13);
+ scale = 25;
+ } else {
+ offset = QPoint(-15, -36);
+ scale = 30;
+ }
+
+ setOffset(offset);
+ setPixmap(QPixmap(filename).scaledToWidth(scale, Qt::SmoothTransformation));
+}
+
+void Marker::setAddress(QGeoAddress addr)
+{
+ if (d->address != addr) {
+ d->address = addr;
+ emit addressChanged(d->address);
+ }
+}
+
+Marker::MarkerType Marker::markerType() const
+{
+ return d->type;
+}
+
+QString Marker::name() const
+{
+ return d->name;
+}
+
+QGeoAddress Marker::address() const
+{
+ return d->address;
+}
+
+bool Marker::moveable() const
+{
+ return d->moveable;
+}
+
+void Marker::setName(QString name)
+{
+ if (d->name != name) {
+ d->name = name;
+ emit nameChanged(d->name);
+ }
+}
+
+void Marker::setMoveable(bool moveable)
+{
+ if (d->moveable != moveable) {
+ d->moveable = moveable;
+ emit moveableChanged(d->moveable);
+ }
+}
+
+
+class MarkerManagerPrivate
+{
+public:
+ Marker *myLocation;
+ QList<Marker*> searchMarkers;
+
+ // a reverse geocode request is currently running
+ bool revGeocodeRunning;
+ // a request is currently running, and my location has changed
+ // since it started (ie, the request is stale)
+ bool myLocHasMoved;
+
+ QGraphicsGeoMap *map;
+ StatusBarItem *status;
+ QGeoSearchManager *searchManager;
+
+ QSet<QGeoSearchReply*> forwardReplies;
+ QSet<QGeoSearchReply*> reverseReplies;
+};
+
+MarkerManager::MarkerManager(QGeoSearchManager *searchManager, QObject *parent) :
+ QObject(parent),
+ d(new MarkerManagerPrivate)
+{
+ d->searchManager = searchManager;
+ d->status = 0;
+ d->revGeocodeRunning = false;
+ d->myLocHasMoved = false;
+
+ d->myLocation = new Marker(Marker::MyLocationMarker);
+ d->myLocation->setName("Me");
+
+ // hook the coordinateChanged() signal for reverse geocoding
+ connect(d->myLocation, SIGNAL(coordinateChanged(QGeoCoordinate)),
+ this, SLOT(myLocationChanged(QGeoCoordinate)));
+
+ connect(d->searchManager, SIGNAL(finished(QGeoSearchReply*)),
+ this, SLOT(replyFinished(QGeoSearchReply*)));
+ connect(d->searchManager, SIGNAL(finished(QGeoSearchReply*)),
+ this, SLOT(reverseReplyFinished(QGeoSearchReply*)));
+}
+
+MarkerManager::~MarkerManager()
+{
+ d->map->removeMapObject(d->myLocation);
+ delete d->myLocation;
+ removeSearchMarkers();
+}
+
+void MarkerManager::setStatusBar(StatusBarItem *bar)
+{
+ d->status = bar;
+}
+
+void MarkerManager::setMap(QGraphicsGeoMap *map)
+{
+ d->map = map;
+ map->addMapObject(d->myLocation);
+}
+
+void MarkerManager::setMyLocation(QGeoCoordinate coord)
+{
+ d->myLocation->setCoordinate(coord);
+}
+
+void MarkerManager::search(QString query, qreal radius)
+{
+ QGeoSearchReply *reply;
+ if (radius > 0) {
+ QGeoBoundingCircle *boundingCircle = new QGeoBoundingCircle(
+ d->myLocation->coordinate(), radius);
+ reply = d->searchManager->search(query,
+ QGeoSearchManager::SearchAll,
+ -1, 0,
+ boundingCircle);
+ } else {
+ reply = d->searchManager->search(query);
+ }
+
+ d->forwardReplies.insert(reply);
+
+ if (d->status) {
+ d->status->setText("Searching...");
+ d->status->show();
+ }
+
+ if (reply->isFinished()) {
+ replyFinished(reply);
+ } else {
+ connect(reply, SIGNAL(error(QGeoSearchReply::Error,QString)),
+ this, SIGNAL(searchError(QGeoSearchReply::Error,QString)));
+ }
+}
+
+void MarkerManager::removeSearchMarkers()
+{
+ foreach (Marker *m, d->searchMarkers) {
+ d->map->removeMapObject(m);
+ delete m;
+ }
+}
+
+QGeoCoordinate MarkerManager::myLocation() const
+{
+ return d->myLocation->coordinate();
+}
+
+void MarkerManager::myLocationChanged(QGeoCoordinate location)
+{
+ if (d->revGeocodeRunning) {
+ d->myLocHasMoved = true;
+ } else {
+ QGeoSearchReply *reply = d->searchManager->reverseGeocode(location);
+ d->reverseReplies.insert(reply);
+ d->myLocHasMoved = false;
+
+ if (reply->isFinished()) {
+ d->revGeocodeRunning = false;
+ reverseReplyFinished(reply);
+ } else {
+ d->revGeocodeRunning = true;
+ }
+ }
+}
+
+void MarkerManager::reverseReplyFinished(QGeoSearchReply *reply)
+{
+ if (!d->reverseReplies.contains(reply))
+ return;
+
+ if (reply->places().size() > 0) {
+ QGeoPlace place = reply->places().first();
+ d->myLocation->setAddress(place.address());
+ }
+
+ d->revGeocodeRunning = false;
+ if (d->myLocHasMoved)
+ myLocationChanged(d->myLocation->coordinate());
+
+ d->reverseReplies.remove(reply);
+ reply->deleteLater();
+}
+
+void MarkerManager::replyFinished(QGeoSearchReply *reply)
+{
+ if (!d->forwardReplies.contains(reply))
+ return;
+
+ // generate the markers and add them to the map
+ foreach (QGeoPlace place, reply->places()) {
+ Marker *m = new Marker(Marker::SearchMarker);
+ m->setCoordinate(place.coordinate());
+
+ if (place.isLandmark()) {
+ QLandmark lm(place);
+ m->setName(lm.name());
+ } else {
+ m->setName(QString("%1, %2").arg(place.address().street())
+ .arg(place.address().city()));
+ }
+ m->setAddress(place.address());
+ m->setMoveable(false);
+
+ d->searchMarkers.append(m);
+
+ if (d->map) {
+ d->map->addMapObject(m);
+ // also zoom out until marker is visible
+ while (!d->map->viewport().contains(place.coordinate()))
+ d->map->setZoomLevel(d->map->zoomLevel()-1);
+ }
+ }
+
+ d->forwardReplies.remove(reply);
+ reply->deleteLater();
+
+ emit searchFinished();
+
+ if (d->status)
+ d->status->hide();
+}
diff --git a/demos/mapsdemo/marker.h b/demos/mapsdemo/marker.h
new file mode 100644
index 00000000..f90d2fa8
--- /dev/null
+++ b/demos/mapsdemo/marker.h
@@ -0,0 +1,130 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the Qt Mobility Components.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef MARKER_H
+#define MARKER_H
+
+#include <QSignalMapper>
+
+#include "qgeomappixmapobject.h"
+#include "qgeosearchmanager.h"
+#include "qgeocoordinate.h"
+#include "qgraphicsgeomap.h"
+#include "qgeoaddress.h"
+#include "qgeosearchreply.h"
+
+
+class StatusBarItem;
+
+class MarkerPrivate;
+class Marker : public QGeoMapPixmapObject
+{
+ Q_OBJECT
+
+ Q_PROPERTY(MarkerType markerType READ markerType WRITE setMarkerType NOTIFY markerTypeChanged)
+ Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged)
+ Q_PROPERTY(QGeoAddress address READ address WRITE setAddress NOTIFY addressChanged)
+ Q_PROPERTY(bool moveable READ moveable WRITE setMoveable NOTIFY moveableChanged)
+public:
+ enum MarkerType {
+ MyLocationMarker,
+ SearchMarker,
+ WaypointMarker,
+ StartMarker,
+ EndMarker,
+ PathMarker
+ };
+
+ explicit Marker(MarkerType type);
+
+ MarkerType markerType() const;
+ void setMarkerType(MarkerType type);
+
+ QString name() const;
+ QGeoAddress address() const;
+ bool moveable() const;
+
+public slots:
+ void setName(QString name);
+ void setAddress(QGeoAddress addr);
+ void setMoveable(bool moveable);
+
+signals:
+ void markerTypeChanged(const MarkerType &type);
+ void nameChanged(const QString &name);
+ void addressChanged(const QGeoAddress &address);
+ void moveableChanged(const bool &moveable);
+
+private:
+ MarkerPrivate *d;
+};
+
+class MarkerManagerPrivate;
+class MarkerManager : public QObject
+{
+ Q_OBJECT
+public:
+ explicit MarkerManager(QGeoSearchManager *sm, QObject *parent=0);
+ ~MarkerManager();
+
+ QGeoCoordinate myLocation() const;
+
+public slots:
+ void setMap(QGraphicsGeoMap *map);
+ void setStatusBar(StatusBarItem *bar);
+ void setMyLocation(QGeoCoordinate coord);
+ void search(QString query, qreal radius=-1);
+ void removeSearchMarkers();
+
+signals:
+ void searchError(QGeoSearchReply::Error error, QString errorString);
+ void searchFinished();
+
+private:
+ MarkerManagerPrivate *d;
+
+private slots:
+ void replyFinished(QGeoSearchReply *reply);
+ void myLocationChanged(QGeoCoordinate location);
+ void reverseReplyFinished(QGeoSearchReply *reply);
+};
+
+#endif // MARKER_H
diff --git a/demos/mapsdemo/markerdialog.cpp b/demos/mapsdemo/markerdialog.cpp
new file mode 100644
index 00000000..4a86e373
--- /dev/null
+++ b/demos/mapsdemo/markerdialog.cpp
@@ -0,0 +1,117 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the Qt Mobility Components.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "markerdialog.h"
+
+#include <QFormLayout>
+#include <QLabel>
+#include <QDialogButtonBox>
+#include <QVBoxLayout>
+
+MarkerDialog::MarkerDialog(Marker *marker) :
+ marker(marker)
+{
+ QVBoxLayout *vbox = new QVBoxLayout;
+
+ QFormLayout *fm = new QFormLayout;
+
+ nameEdit = new QLineEdit;
+ nameEdit->setText(marker->name());
+ connect(marker, SIGNAL(nameChanged(QString)),
+ nameEdit, SLOT(setText(QString)));
+ fm->addRow("Name", nameEdit);
+
+ addressLabel = new QLabel;
+ setAddressLabel(marker->address());
+ connect(marker, SIGNAL(addressChanged(QGeoAddress)),
+ this, SLOT(setAddressLabel(QGeoAddress)));
+ fm->addRow("Address", addressLabel);
+
+ lonSpin = new QDoubleSpinBox;
+ lonSpin->setMinimum(-180.0);
+ lonSpin->setMaximum(180.0);
+ lonSpin->setDecimals(7);
+ lonSpin->setValue(marker->coordinate().longitude());
+ fm->addRow("Longitude", lonSpin);
+
+ latSpin = new QDoubleSpinBox;
+ latSpin->setMinimum(-90.0);
+ latSpin->setMaximum(90.0);
+ latSpin->setDecimals(7);
+ latSpin->setValue(marker->coordinate().latitude());
+ fm->addRow("Latitude", latSpin);
+
+ QDialogButtonBox *bb = new QDialogButtonBox(QDialogButtonBox::Save |
+ QDialogButtonBox::Close,
+ Qt::Horizontal);
+ connect(bb, SIGNAL(accepted()), this, SLOT(accept()));
+ connect(bb, SIGNAL(rejected()), this, SLOT(reject()));
+
+ vbox->addLayout(fm);
+ vbox->addWidget(bb);
+ setLayout(vbox);
+ setWindowTitle("Edit marker");
+}
+
+void MarkerDialog::updateMarker()
+{
+ marker->setName(nameEdit->text());
+ QGeoCoordinate c(latSpin->value(), lonSpin->value());
+ marker->setCoordinate(c);
+}
+
+void MarkerDialog::setAddressLabel(QGeoAddress address)
+{
+ QString addressFormat = tr("$street\n$city, $state $postcode\n$country");
+ addressFormat.replace("$street", address.street());
+ addressFormat.replace("$city", address.city());
+ addressFormat.replace("$county", address.county());
+ addressFormat.replace("$state", address.state());
+ addressFormat.replace("$postcode", address.postcode());
+ addressFormat.replace("$district", address.district());
+ addressFormat.replace("$country", address.country());
+
+ addressLabel->setText(addressFormat);
+}
+
+MarkerDialog::~MarkerDialog()
+{
+}
diff --git a/demos/mapsdemo/markerdialog.h b/demos/mapsdemo/markerdialog.h
new file mode 100644
index 00000000..7882c181
--- /dev/null
+++ b/demos/mapsdemo/markerdialog.h
@@ -0,0 +1,76 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the Qt Mobility Components.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef MARKERDIALOG_H
+#define MARKERDIALOG_H
+
+#include <QDialog>
+#include <QLineEdit>
+#include <QLabel>
+#include <QDoubleSpinBox>
+
+#include "qgeoaddress.h"
+
+#include "marker.h"
+
+class MarkerDialog : public QDialog
+{
+ Q_OBJECT
+public:
+ MarkerDialog(Marker *marker);
+ ~MarkerDialog();
+
+public slots:
+ void updateMarker();
+
+private slots:
+ void setAddressLabel(QGeoAddress address);
+
+private:
+ QLineEdit *nameEdit;
+ QLabel *addressLabel;
+ QDoubleSpinBox *lonSpin;
+ QDoubleSpinBox *latSpin;
+
+ Marker *marker;
+};
+
+#endif // MARKERDIALOG_H
diff --git a/demos/mapsdemo/navigatedialog.cpp b/demos/mapsdemo/navigatedialog.cpp
new file mode 100644
index 00000000..2521a091
--- /dev/null
+++ b/demos/mapsdemo/navigatedialog.cpp
@@ -0,0 +1,95 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the Qt Mobility Components.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "navigatedialog.h"
+
+#include <QFormLayout>
+#include <QDialogButtonBox>
+#include <QVBoxLayout>
+#include <QMetaObject>
+
+Q_DECLARE_METATYPE(QGeoRouteRequest::TravelMode)
+
+NavigateDialog::NavigateDialog(QWidget *parent) :
+ QDialog(parent)
+{
+ QFormLayout *formLayout = new QFormLayout;
+ QVBoxLayout *vbox = new QVBoxLayout;
+
+ addressEdit = new QLineEdit;
+ formLayout->addRow("Address", addressEdit);
+
+ modeCombo = new QComboBox;
+ modeCombo->addItem("Car", qVariantFromValue(QGeoRouteRequest::CarTravel));
+ modeCombo->addItem("Pedestrian", qVariantFromValue(QGeoRouteRequest::PedestrianTravel));
+ modeCombo->addItem("Bicycle", qVariantFromValue(QGeoRouteRequest::BicycleTravel));
+ modeCombo->addItem("Public Transit", qVariantFromValue(QGeoRouteRequest::PublicTransitTravel));
+ formLayout->addRow("Mode", modeCombo);
+
+ QDialogButtonBox *bb = new QDialogButtonBox;
+ bb->addButton(QDialogButtonBox::Ok);
+ bb->addButton(QDialogButtonBox::Cancel);
+ connect(bb, SIGNAL(accepted()), this, SLOT(accept()));
+ connect(bb, SIGNAL(rejected()), this, SLOT(reject()));
+
+ vbox->addLayout(formLayout);
+ vbox->addWidget(bb);
+
+ setLayout(vbox);
+ setWindowTitle("Directions to address");
+}
+
+NavigateDialog::~NavigateDialog()
+{
+}
+
+QString NavigateDialog::destinationAddress() const
+{
+ return addressEdit->text();
+}
+
+QGeoRouteRequest::TravelModes NavigateDialog::travelMode() const
+{
+ QVariant v = modeCombo->itemData(modeCombo->currentIndex());
+ QGeoRouteRequest::TravelModes mode;
+ mode |= qVariantValue<QGeoRouteRequest::TravelMode>(v);
+ return mode;
+}
diff --git a/demos/mapsdemo/navigatedialog.h b/demos/mapsdemo/navigatedialog.h
new file mode 100644
index 00000000..5e6b343a
--- /dev/null
+++ b/demos/mapsdemo/navigatedialog.h
@@ -0,0 +1,68 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the Qt Mobility Components.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef NAVIGATEDIALOG_H
+#define NAVIGATEDIALOG_H
+
+#include <QDialog>
+#include <QLineEdit>
+#include <QComboBox>
+
+#include "qgeorouterequest.h"
+#include "qgeocoordinate.h"
+
+
+class NavigateDialog : public QDialog
+{
+ Q_OBJECT
+public:
+ NavigateDialog(QWidget *parent=0);
+ ~NavigateDialog();
+
+ QString destinationAddress() const;
+ QGeoRouteRequest::TravelModes travelMode() const;
+
+private:
+ QLineEdit *addressEdit;
+ QComboBox *modeCombo;
+};
+
+#endif // NAVIGATEDIALOG_H
diff --git a/demos/mapsdemo/navigator.cpp b/demos/mapsdemo/navigator.cpp
new file mode 100644
index 00000000..11df70e5
--- /dev/null
+++ b/demos/mapsdemo/navigator.cpp
@@ -0,0 +1,155 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the Qt Mobility Components.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "navigator.h"
+#include "mapswidget.h"
+#include "marker.h"
+
+Navigator::Navigator(QGeoRoutingManager *routingManager,
+ QGeoSearchManager *searchManager,
+ MapsWidget *mapsWidget, const QString &address,
+ const QGeoRouteRequest &requestTemplate) :
+ address(address),
+ request(requestTemplate),
+ routingManager(routingManager),
+ searchManager(searchManager),
+ mapsWidget(mapsWidget),
+ routeObject(0),
+ endMarker(0),
+ startMarker(0)
+{
+}
+
+Navigator::~Navigator()
+{
+ if (routeObject) {
+ mapsWidget->map()->removeMapObject(routeObject);
+ delete routeObject;
+ }
+ if (endMarker) {
+ mapsWidget->map()->removeMapObject(endMarker);
+ delete endMarker;
+ }
+ if (startMarker) {
+ mapsWidget->map()->removeMapObject(startMarker);
+ delete startMarker;
+ }
+}
+
+void Navigator::start()
+{
+ QList<QGeoCoordinate> waypoints = request.waypoints();
+ waypoints.append(mapsWidget->markerManager()->myLocation());
+ request.setWaypoints(waypoints);
+
+ startMarker = new Marker(Marker::StartMarker);
+ startMarker->setCoordinate(mapsWidget->markerManager()->myLocation());
+ startMarker->setName("Start point");
+ mapsWidget->map()->addMapObject(startMarker);
+
+ addressReply = searchManager->search(address);
+ if (addressReply->isFinished()) {
+ on_addressSearchFinished();
+ } else {
+ connect(addressReply, SIGNAL(error(QGeoSearchReply::Error,QString)),
+ this, SIGNAL(searchError(QGeoSearchReply::Error,QString)));
+ connect(addressReply, SIGNAL(finished()),
+ this, SLOT(on_addressSearchFinished()));
+ }
+}
+
+void Navigator::on_addressSearchFinished()
+{
+ if (addressReply->places().size() <= 0) {
+ addressReply->deleteLater();
+ return;
+ }
+
+ QGeoPlace place = addressReply->places().at(0);
+
+ QList<QGeoCoordinate> waypoints = request.waypoints();
+ waypoints.append(place.coordinate());
+ request.setWaypoints(waypoints);
+
+ routeReply = routingManager->calculateRoute(request);
+ if (routeReply->isFinished()) {
+ on_routingFinished();
+ } else {
+ connect(routeReply, SIGNAL(error(QGeoRouteReply::Error,QString)),
+ this, SIGNAL(routingError(QGeoRouteReply::Error,QString)));
+ connect(routeReply, SIGNAL(finished()),
+ this, SLOT(on_routingFinished()));
+ }
+
+ endMarker = new Marker(Marker::EndMarker);
+ endMarker->setCoordinate(place.coordinate());
+ endMarker->setAddress(place.address());
+ endMarker->setName("Destination");
+ mapsWidget->map()->addMapObject(endMarker);
+
+ addressReply->deleteLater();
+}
+
+QGeoRoute Navigator::route() const
+{
+ return firstRoute;
+}
+
+void Navigator::on_routingFinished()
+{
+ if (routeReply->routes().size() <= 0) {
+ emit routingError(QGeoRouteReply::NoError, "No valid routes returned");
+ routeReply->deleteLater();
+ return;
+ }
+
+ QGeoRoute route = routeReply->routes().at(0);
+ firstRoute = route;
+
+ routeObject = new QGeoMapRouteObject;
+ routeObject->setRoute(route);
+ routeObject->setPen(QPen(Qt::blue, 2.0));
+
+ mapsWidget->map()->addMapObject(routeObject);
+
+ emit finished();
+ routeReply->deleteLater();
+}
diff --git a/demos/mapsdemo/navigator.h b/demos/mapsdemo/navigator.h
new file mode 100644
index 00000000..47e04d1e
--- /dev/null
+++ b/demos/mapsdemo/navigator.h
@@ -0,0 +1,96 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the Qt Mobility Components.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef NAVIGATOR_H
+#define NAVIGATOR_H
+
+#include <qgeoroutingmanager.h>
+#include <qgeosearchmanager.h>
+
+#include <qgeoroutereply.h>
+#include <qgeoroutereply.h>
+#include <qgeosearchreply.h>
+#include <qgeomaprouteobject.h>
+
+#include "marker.h"
+
+class MapsWidget;
+
+class Navigator : public QObject
+{
+ Q_OBJECT
+public:
+ Navigator(QGeoRoutingManager *routingManager, QGeoSearchManager *searchManager,
+ MapsWidget *mapsWidget, const QString &address,
+ const QGeoRouteRequest &requestTemplate);
+ ~Navigator();
+
+ void start();
+ QGeoRoute route() const;
+
+signals:
+ void finished();
+ void searchError(QGeoSearchReply::Error error, QString errorString);
+ void routingError(QGeoRouteReply::Error error, QString errorString);
+
+private slots:
+ void on_addressSearchFinished();
+ void on_routingFinished();
+
+private:
+ QString address;
+ QGeoRouteRequest request;
+
+ QGeoRoutingManager *routingManager;
+ QGeoSearchManager *searchManager;
+ MapsWidget *mapsWidget;
+
+ QGeoSearchReply *addressReply;
+ QGeoRouteReply *routeReply;
+
+ QGeoMapRouteObject *routeObject;
+ Marker *endMarker;
+ Marker *startMarker;
+
+ QGeoRoute firstRoute;
+};
+
+#endif // NAVIGATOR_H
diff --git a/demos/mapsdemo/searchdialog.cpp b/demos/mapsdemo/searchdialog.cpp
new file mode 100644
index 00000000..2d58d666
--- /dev/null
+++ b/demos/mapsdemo/searchdialog.cpp
@@ -0,0 +1,90 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the Qt Mobility Components.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "searchdialog.h"
+
+#include <QFormLayout>
+#include <QDialogButtonBox>
+#include <QVBoxLayout>
+
+SearchDialog::SearchDialog(QWidget *parent) :
+ QDialog(parent)
+{
+ QFormLayout *formLayout = new QFormLayout;
+ QVBoxLayout *vbox = new QVBoxLayout;
+
+ searchTermEdit = new QLineEdit;
+ formLayout->addRow("Search for", searchTermEdit);
+
+ whereCombo = new QComboBox;
+ whereCombo->addItem(tr("Nearby (<10km)"), 10000);
+ whereCombo->addItem(tr("Within 30 mins drive of me (<25km)"), 25000);
+ whereCombo->addItem(tr("Within 100km of me"), 100000);
+ whereCombo->addItem(tr("Anywhere in the world"), -1);
+ whereCombo->setCurrentIndex(1);
+ formLayout->addRow(tr("Where"), whereCombo);
+
+ QDialogButtonBox *bb = new QDialogButtonBox(QDialogButtonBox::Ok |
+ QDialogButtonBox::Cancel,
+ Qt::Horizontal);
+ connect(bb, SIGNAL(accepted()), this, SLOT(accept()));
+ connect(bb, SIGNAL(rejected()), this, SLOT(reject()));
+
+ vbox->addLayout(formLayout);
+ vbox->addWidget(bb);
+ setLayout(vbox);
+ setWindowTitle("Search for location");
+}
+
+qreal SearchDialog::radius() const
+{
+ const int i = whereCombo->currentIndex();
+ return whereCombo->itemData(i).toReal();
+}
+
+SearchDialog::~SearchDialog()
+{
+}
+
+QString SearchDialog::searchTerms() const
+{
+ return searchTermEdit->text();
+}
diff --git a/demos/mapsdemo/searchdialog.h b/demos/mapsdemo/searchdialog.h
new file mode 100644
index 00000000..9d2f214d
--- /dev/null
+++ b/demos/mapsdemo/searchdialog.h
@@ -0,0 +1,64 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the Qt Mobility Components.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef SEARCHDIALOG_H
+#define SEARCHDIALOG_H
+
+#include <QDialog>
+#include <QLineEdit>
+#include <QComboBox>
+
+class SearchDialog : public QDialog
+{
+ Q_OBJECT
+public:
+ SearchDialog(QWidget *parent=0);
+ ~SearchDialog();
+
+ QString searchTerms() const;
+ qreal radius() const;
+
+private:
+ QLineEdit *searchTermEdit;
+ QComboBox *whereCombo;
+};
+
+#endif // SEARCHDIALOG_H
diff --git a/examples/declarative/declarative.pro b/examples/declarative/declarative.pro
new file mode 100644
index 00000000..78373ebe
--- /dev/null
+++ b/examples/declarative/declarative.pro
@@ -0,0 +1,4 @@
+TEMPLATE = subdirs
+SUBDIRS += flickr \
+ landmarkmap \
+ mapviewer
diff --git a/examples/declarative/flickr/flickr-90.qml b/examples/declarative/flickr/flickr-90.qml
new file mode 100755
index 00000000..23fb2fb5
--- /dev/null
+++ b/examples/declarative/flickr/flickr-90.qml
@@ -0,0 +1,51 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Mobility Components.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+Item {
+ width: 480; height: 320
+
+ Loader {
+ y: 320; rotation: -90
+ transformOrigin: Item.TopLeft
+ source: "flickr.qml"
+ }
+}
diff --git a/examples/declarative/flickr/flickr.pro b/examples/declarative/flickr/flickr.pro
new file mode 100644
index 00000000..adcc0a5a
--- /dev/null
+++ b/examples/declarative/flickr/flickr.pro
@@ -0,0 +1,19 @@
+TEMPLATE=app
+TARGET = qml_location_flickr
+
+QT += declarative network location
+SOURCES += qmllocationflickr.cpp
+
+symbian {
+ TARGET.CAPABILITY = NetworkServices Location ReadUserData WriteUserData
+ TARGET.EPOCHEAPSIZE = 0x20000 0x2000000
+}
+
+RESOURCES += \
+ flickr.qrc
+
+target.path = $$[QT_INSTALL_DEMOS]/qtlocation/declarative/flickr
+sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS *.pro *.qml flickrcommon flickrmobile
+sources.path = $$[QT_INSTALL_DEMOS]/qtlocation/declarative/flickr
+
+INSTALLS += target sources
diff --git a/examples/declarative/flickr/flickr.qml b/examples/declarative/flickr/flickr.qml
new file mode 100755
index 00000000..8597b38a
--- /dev/null
+++ b/examples/declarative/flickr/flickr.qml
@@ -0,0 +1,126 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Mobility Components.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+import "flickrcommon" as Common
+import "flickrmobile" as Mobile
+
+Item {
+ id: screen; width: 320; height: 480
+ property bool inListView : false
+
+ Rectangle {
+ id: background
+ anchors.fill: parent; color: "#343434";
+
+ Image { source: "flickrmobile/images/stripes.png"; fillMode: Image.Tile; anchors.fill: parent; opacity: 0.3 }
+
+ Common.RestModel {
+ id: restModel;
+ latitude: geoTab.latitude
+ longitude: geoTab.longitude}
+
+ Item {
+ id: views
+ x: 2; width: parent.width - 4
+ anchors.top: titleBar.bottom; anchors.bottom: toolBar.top
+
+ Mobile.GridDelegate { id: gridDelegate }
+ GridView {
+ x: (width/4-79)/2; y: x
+ id: photoGridView; model: restModel; delegate: gridDelegate; cacheBuffer: 100
+ cellWidth: (parent.width-2)/4; cellHeight: cellWidth; width: parent.width; height: parent.height - 1; z: 6
+ }
+ Mobile.ListDelegate { id: listDelegate }
+ ListView {
+ id: photoListView; model: restModel; delegate: listDelegate; z: 6
+ width: parent.width; height: parent.height; x: -(parent.width * 1.5); cacheBuffer: 100;
+ }
+ states: State {
+ name: "ListView"; when: screen.inListView == true
+ PropertyChanges { target: photoListView; x: 0 }
+ PropertyChanges { target: photoGridView; x: -(parent.width * 1.5) }
+ }
+
+ transitions: Transition {
+ NumberAnimation { properties: "x"; duration: 500; easing.type: Easing.InOutQuad }
+ }
+ }
+ Mobile.ImageDetails { id: imageDetails; width: parent.width; anchors.left: views.right; height: parent.height; z:1 }
+ Mobile.TitleBar { id: titleBar; z: 5; width: parent.width; height: 40; opacity: 0.9 }
+ Mobile.GeoTab {
+ id: geoTab;
+ x: 15; y:50;
+ }
+ Mobile.ToolBar {
+ id: toolBar; z: 5
+ height: 40; anchors.bottom: parent.bottom; width: parent.width; opacity: 0.9
+ button1Label: "Update"; button2Label: "View mode"
+ onButton1Clicked: restModel.reload()
+ onButton2Clicked: if (screen.inListView == true) screen.inListView = false; else screen.inListView = true
+ }
+ Connections {
+ target: imageDetails
+ onClosed: {
+ if (background.state == "DetailedView") {
+ background.state = '';
+ imageDetails.photoUrl = "";
+ }
+ }
+ }
+
+ states: State {
+ name: "DetailedView"
+ PropertyChanges { target: views; x: -parent.width }
+ PropertyChanges { target: geoTab; x: -parent.width }
+ PropertyChanges { target: toolBar; button1Label: "More..." }
+ PropertyChanges {
+ target: toolBar
+ onButton1Clicked: if (imageDetails.state=='') imageDetails.state='Back'; else imageDetails.state=''
+ }
+ PropertyChanges { target: toolBar; button2Label: "Back" }
+ PropertyChanges { target: toolBar; onButton2Clicked: imageDetails.closed() }
+ }
+
+ transitions: Transition {
+ NumberAnimation { properties: "x"; duration: 500; easing.type: Easing.InOutQuad }
+ }
+ }
+}
diff --git a/examples/declarative/flickr/flickr.qmlproject b/examples/declarative/flickr/flickr.qmlproject
new file mode 100755
index 00000000..d4909f86
--- /dev/null
+++ b/examples/declarative/flickr/flickr.qmlproject
@@ -0,0 +1,16 @@
+import QmlProject 1.0
+
+Project {
+ /* Include .qml, .js, and image files from current directory and subdirectories */
+ QmlFiles {
+ directory: "."
+ }
+ JavaScriptFiles {
+ directory: "."
+ }
+ ImageFiles {
+ directory: "."
+ }
+ /* List of plugin directories passed to QML runtime */
+ // importPaths: [ " ../exampleplugin " ]
+}
diff --git a/examples/declarative/flickr/flickr.qrc b/examples/declarative/flickr/flickr.qrc
new file mode 100644
index 00000000..1019f7d8
--- /dev/null
+++ b/examples/declarative/flickr/flickr.qrc
@@ -0,0 +1,30 @@
+<!DOCTYPE RCC><RCC version="1.0">
+ <qresource prefix="/">
+ <file>flickr.qml</file>
+ <file>flickr-90.qml</file>
+ <file>flickrcommon/Progress.qml</file>
+ <file>flickrcommon/RestModel.qml</file>
+ <file>flickrcommon/ScrollBar.qml</file>
+ <file>flickrcommon/Slider.qml</file>
+ <file>flickrmobile/Button.qml</file>
+ <file>flickrmobile/GeoTab.qml</file>
+ <file>flickrmobile/GridDelegate.qml</file>
+ <file>flickrmobile/ImageDetails.qml</file>
+ <file>flickrmobile/ListDelegate.qml</file>
+ <file>flickrmobile/nmealog.txt</file>
+ <file>flickrmobile/TitleBar.qml</file>
+ <file>flickrmobile/ToolBar.qml</file>
+ <file>flickrmobile/images/gloss.png</file>
+ <file>flickrmobile/images/lineedit.png</file>
+ <file>flickrmobile/images/lineedit.sci</file>
+ <file>flickrmobile/images/moon.png</file>
+ <file>flickrmobile/images/quit.png</file>
+ <file>flickrmobile/images/star.png</file>
+ <file>flickrmobile/images/stripes.png</file>
+ <file>flickrmobile/images/sun.png</file>
+ <file>flickrmobile/images/titlebar.png</file>
+ <file>flickrmobile/images/titlebar.sci</file>
+ <file>flickrmobile/images/toolbutton.png</file>
+ <file>flickrmobile/images/toolbutton.sci</file>
+ </qresource>
+</RCC>
diff --git a/examples/declarative/flickr/flickrcommon/Progress.qml b/examples/declarative/flickr/flickrcommon/Progress.qml
new file mode 100755
index 00000000..dbcdfd0a
--- /dev/null
+++ b/examples/declarative/flickr/flickrcommon/Progress.qml
@@ -0,0 +1,72 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Mobility Components.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+Item {
+ property variant progress: 0
+
+ Rectangle {
+ anchors.fill: parent; smooth: true
+ border.color: "white"; border.width: 0; radius: height/2 - 2
+ gradient: Gradient {
+ GradientStop { position: 0; color: "#66343434" }
+ GradientStop { position: 1.0; color: "#66000000" }
+ }
+ }
+
+ Rectangle {
+ y: 2; height: parent.height-4;
+ x: 2; width: Math.max(parent.width * progress - 4, 0);
+ opacity: width < 1 ? 0 : 1; smooth: true
+ gradient: Gradient {
+ GradientStop { position: 0; color: "lightsteelblue" }
+ GradientStop { position: 1.0; color: "steelblue" }
+ }
+ radius: height/2 - 2
+ }
+
+ Text {
+ text: Math.round(progress * 100) + "%"
+ anchors.horizontalCenter: parent.horizontalCenter
+ anchors.verticalCenter: parent.verticalCenter
+ color: "white"; font.bold: true
+ }
+}
diff --git a/examples/declarative/flickr/flickrcommon/RestModel.qml b/examples/declarative/flickr/flickrcommon/RestModel.qml
new file mode 100755
index 00000000..66d2af89
--- /dev/null
+++ b/examples/declarative/flickr/flickrcommon/RestModel.qml
@@ -0,0 +1,100 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Mobility Components.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+XmlListModel {
+ property double latitude: 0
+ property double longitude: 0
+ // The flickr rest API with position data
+ source: "http://api.flickr.com/services/rest/?min_taken_date=2000-01-01+0:00:00&extras=date_taken&method=flickr.photos.search&per_page=30&sort=date-taken-desc&api_key=e36784df8a03fea04c22ed93318b291c&lat="+latitude+"&lon="+longitude;
+ query: "/rsp/photos/photo"
+ XmlRole { name: "title"; query: "@title/string()" }
+ XmlRole { name: "datetaken"; query: "@datetaken/string()" }
+ XmlRole { name: "farm"; query: "@farm/string()" }
+ XmlRole { name: "server"; query: "@server/string()" }
+ XmlRole { name: "id"; query: "@id/string()" }
+ XmlRole { name: "secret"; query: "@secret/string()" }
+}
+
+/*
+
+QString url = "http://farm";
+ url.append(child.attribute("farm"));
+ url.append(".static.flickr.com/");
+ url.append(child.attribute("server"));
+ url.append("/");
+ url.append(child.attribute("id"));
+ url.append("_");
+ url.append(child.attribute("secret"));
+
+
+XmlListModel {
+ property string tags : ""
+
+ function commasep(x)
+ {
+ return x.replace(' ',',');
+ }
+
+ //m_latitude = 61.4500;
+ //m_longitude = 23.8502;
+ //urlstring.append("&lat=");
+ //urlstring.append(QString::number(m_latitude));
+ //urlstring.append("&lon=");
+
+ source: "http://api.flickr.com/services/rest/photos_public.gne?"+(tags ? "tags="+commasep(tags)+"&" : "")+"format=rss2"
+ // +"&lat=61"+"&lon=23"
+ // original source: "http://api.flickr.com/services/feeds/photos_public.gne?"+(tags ? "tags="+commasep(tags)+"&" : "")+"format=rss2"
+ query: "/rss/channel/item"
+ namespaceDeclarations: "declare namespace media=\"http://search.yahoo.com/mrss/\";"
+
+ XmlRole { name: "title"; query: "title/string()" }
+ XmlRole { name: "imagePath"; query: "media:thumbnail/@url/string()" }
+ XmlRole { name: "url"; query: "media:content/@url/string()" }
+ XmlRole { name: "description"; query: "description/string()" }
+ XmlRole { name: "tags"; query: "media:category/string()" }
+ XmlRole { name: "photoWidth"; query: "media:content/@width/string()" }
+ XmlRole { name: "photoHeight"; query: "media:content/@height/string()" }
+ XmlRole { name: "photoType"; query: "media:content/@type/string()" }
+ XmlRole { name: "photoAuthor"; query: "author/string()" }
+ XmlRole { name: "photoDate"; query: "pubDate/string()" }
+}
+*/
diff --git a/examples/declarative/flickr/flickrcommon/ScrollBar.qml b/examples/declarative/flickr/flickrcommon/ScrollBar.qml
new file mode 100755
index 00000000..52177a65
--- /dev/null
+++ b/examples/declarative/flickr/flickrcommon/ScrollBar.qml
@@ -0,0 +1,80 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Mobility Components.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+Item {
+ id: container
+
+ property variant flickableArea
+
+ Rectangle {
+ radius: 5
+ color: "black"
+ opacity: 0.3
+ border.color: "white"
+ border.width: 2
+ x: 0
+ y: flickableArea.visibleArea.yPosition * container.height
+ width: parent.width
+ height: flickableArea.visibleArea.heightRatio * container.height
+ }
+ states: [
+ State {
+ name: "show"
+ when: flickableArea.movingVertically
+ PropertyChanges {
+ target: container
+ opacity: 1
+ }
+ }
+ ]
+ transitions: [
+ Transition {
+ from: "*"
+ to: "*"
+ NumberAnimation {
+ target: container
+ properties: "opacity"
+ duration: 400
+ }
+ }
+ ]
+}
diff --git a/examples/declarative/flickr/flickrcommon/Slider.qml b/examples/declarative/flickr/flickrcommon/Slider.qml
new file mode 100755
index 00000000..7fcb707c
--- /dev/null
+++ b/examples/declarative/flickr/flickrcommon/Slider.qml
@@ -0,0 +1,76 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Mobility Components.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+Item {
+ id: slider; width: 400; height: 16
+
+ // value is read/write.
+ property real value
+ onValueChanged: { handle.x = 2 + (value - minimum) * slider.xMax / (maximum - minimum); }
+ property real maximum: 1
+ property real minimum: 1
+ property int xMax: slider.width - handle.width - 4
+
+ Rectangle {
+ anchors.fill: parent
+ border.color: "white"; border.width: 0; radius: 8
+ gradient: Gradient {
+ GradientStop { position: 0.0; color: "#66343434" }
+ GradientStop { position: 1.0; color: "#66000000" }
+ }
+ }
+
+ Rectangle {
+ id: handle; smooth: true
+ x: slider.width / 2 - handle.width / 2; y: 2; width: 30; height: slider.height-4; radius: 6
+ gradient: Gradient {
+ GradientStop { position: 0.0; color: "lightgray" }
+ GradientStop { position: 1.0; color: "gray" }
+ }
+
+ MouseArea {
+ anchors.fill: parent; drag.target: parent
+ drag.axis: Drag.XAxis; drag.minimumX: 2; drag.maximumX: slider.xMax+2
+ onPositionChanged: { value = (maximum - minimum) * (handle.x-2) / slider.xMax + minimum; }
+ }
+ }
+}
diff --git a/examples/declarative/flickr/flickrmobile/Button.qml b/examples/declarative/flickr/flickrmobile/Button.qml
new file mode 100755
index 00000000..6820e74a
--- /dev/null
+++ b/examples/declarative/flickr/flickrmobile/Button.qml
@@ -0,0 +1,78 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Mobility Components.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+Item {
+ id: container
+
+ signal clicked
+
+ property string text
+
+ BorderImage {
+ id: buttonImage
+ source: "images/toolbutton.sci"
+ width: container.width; height: container.height
+ }
+ BorderImage {
+ id: pressed
+ opacity: 0
+ source: "images/toolbutton.sci"
+ width: container.width; height: container.height
+ }
+ MouseArea {
+ id: mouseRegion
+ anchors.fill: buttonImage
+ onClicked: { container.clicked(); }
+ }
+ Text {
+ color: "white"
+ anchors.centerIn: buttonImage; font.bold: true
+ text: container.text; style: Text.Raised; styleColor: "black"
+ }
+ states: [
+ State {
+ name: "Pressed"
+ when: mouseRegion.pressed == true
+ PropertyChanges { target: pressed; opacity: 1 }
+ }
+ ]
+}
diff --git a/examples/declarative/flickr/flickrmobile/GeoTab.qml b/examples/declarative/flickr/flickrmobile/GeoTab.qml
new file mode 100644
index 00000000..147f42f2
--- /dev/null
+++ b/examples/declarative/flickr/flickrmobile/GeoTab.qml
@@ -0,0 +1,128 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Mobility Components.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+import QtMobility.location 1.1
+
+
+Rectangle {
+ id: container
+ property int maxX: parent.width; property int maxY: parent.height
+ property double latitude
+ property double longitude
+ latitude: positionSource.position.coordinate.latitude
+ longitude: positionSource.position.coordinate.longitude
+
+ width: 300; height: 130
+ color: "blue"
+ opacity: 0.7
+ border.color: "black"
+ border.width: 1
+ radius: 5
+ gradient: Gradient {
+ GradientStop {position: 0.0; color: "grey"}
+ GradientStop {position: 1.0; color: "black"}
+ }
+ MouseArea {
+ anchors.fill: parent
+ drag.target: parent
+ drag.axis: Drag.XandYAxis
+ drag.minimumX: -(parent.width * (2/3)); drag.maximumX: parent.maxX - (parent.width/3)
+ drag.minimumY: -(parent.height/2); drag.maximumY: parent.maxY - (parent.height/2)
+ }
+ Button {
+ id: locateButton
+ text: "Locate & update"
+ anchors {left: parent.left; leftMargin: 5}
+ y: 3; height: 32; width: parent.width - 10
+ onClicked: {
+ if (positionSource.positioningMethod == PositionSource.NoPositioningMethod) {
+ positionSource.nmeaSource = "nmealog.txt";
+ sourceText.text = "(filesource): " + printableMethod(positionSource.positioningMethod);
+ }
+ positionSource.update();
+ }
+ }
+ PositionSource {
+ id: positionSource
+ //nmeaSource: "nmealog.txt"
+ onPositionChanged: {planet.source = "images/sun.png";}
+ }
+ function printableMethod(method) {
+ if (method == PositionSource.SatellitePositioningMethod)
+ return "Satellite";
+ else if (method == PositionSource.NoPositioningMethod)
+ return "Not available"
+ else if (method == PositionSource.NonSatellitePositioningMethod)
+ return "Non-satellite"
+ else if (method == PositionSource.AllPositioningMethods)
+ return "Multiple"
+ return "source error";
+ }
+
+ Grid {
+ id: locationGrid
+ columns: 2
+ anchors {left: parent.left; leftMargin: 5; top: locateButton.bottom; topMargin: 5}
+ spacing: 5
+ Text {color: "white"; font.bold: true
+ text: "Lat:"; style: Text.Raised; styleColor: "black"
+ }
+ Text {id: latitudeValue; color: "white"; font.bold: true
+ text: positionSource.position.coordinate.latitude; style: Text.Raised; styleColor: "black";
+ }
+ Text {color: "white"; font.bold: true
+ text: "Lon:"; style: Text.Raised; styleColor: "black"
+ }
+ Text {id: longitudeValue; color: "white"; font.bold: true
+ text: positionSource.position.coordinate.longitude; style: Text.Raised; styleColor: "black"
+ }
+ }
+ Image {
+ id: planet
+ anchors {top: locationGrid.bottom; left: parent.left; leftMargin: locationGrid.anchors.leftMargin}
+ source: "images/moon.png"
+ width: 30; height: 30
+ }
+ Text {id: sourceText; color: "white"; font.bold: true;
+ anchors {left: planet.right; leftMargin: 5; verticalCenter: planet.verticalCenter}
+ text: "Source: " + printableMethod(positionSource.positioningMethod); style: Text.Raised; styleColor: "black";
+ }
+}
diff --git a/examples/declarative/flickr/flickrmobile/GridDelegate.qml b/examples/declarative/flickr/flickrmobile/GridDelegate.qml
new file mode 100755
index 00000000..36f785da
--- /dev/null
+++ b/examples/declarative/flickr/flickrmobile/GridDelegate.qml
@@ -0,0 +1,111 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Mobility Components.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+ import Qt 4.7
+
+ Component {
+ id: photoDelegate
+ Item {
+ id: wrapper; width: 79; height: 79
+
+ function photoClicked() {
+ imageDetails.photoTitle = title;
+ imageDetails.photoDate = datetaken;
+ imageDetails.photoUrl = "http://farm" + farm + ".static.flickr.com/" + server + "/" + id + "_" + secret + ".jpg";
+ console.log(imageDetails.photoUrl);
+ scaleMe.state = "Details";
+ }
+
+ Item {
+ anchors.centerIn: parent
+ scale: 0.0
+ Behavior on scale { NumberAnimation { easing.type: Easing.InOutQuad} }
+ id: scaleMe
+
+ Rectangle { height: 79; width: 79; id: blackRect; anchors.centerIn: parent; color: "black"; smooth: true }
+ Rectangle {
+ id: whiteRect; width: 76; height: 76; anchors.centerIn: parent; color: "#dddddd"; smooth: true
+ Image { id: thumb;
+ // source: imagePath;
+ source: imageDetails.photoUrl = "http://farm" + farm + ".static.flickr.com/" + server + "/" + id + "_" + secret + "_t.jpg"
+ width: parent.width; height: parent.height
+ x: 1; y: 1; smooth: true}
+ Image { source: "images/gloss.png" }
+ }
+
+ Connections {
+ target: toolBar
+ onButton2Clicked: if (scaleMe.state == 'Details' ) scaleMe.state = 'Show'
+ }
+
+ states: [
+ State {
+ name: "Show"; when: thumb.status == Image.Ready
+ PropertyChanges { target: scaleMe; scale: 1 }
+ },
+ State {
+ name: "Details"
+ PropertyChanges { target: scaleMe; scale: 1 }
+ ParentChange { target: wrapper; parent: imageDetails.frontContainer }
+ PropertyChanges { target: wrapper; x: 20; y: 60; z: 1000 }
+ PropertyChanges { target: background; state: "DetailedView" }
+ }
+ ]
+ transitions: [
+ Transition {
+ from: "Show"; to: "Details"
+ ParentAnimation {
+ NumberAnimation { properties: "x,y"; duration: 500; easing.type: Easing.InOutQuad }
+ }
+ },
+ Transition {
+ from: "Details"; to: "Show"
+ SequentialAnimation {
+ ParentAnimation {
+ NumberAnimation { properties: "x,y"; duration: 500; easing.type: Easing.InOutQuad }
+ }
+ PropertyAction { targets: wrapper; properties: "z" }
+ }
+ }
+ ]
+ }
+ MouseArea { anchors.fill: wrapper; onClicked: { photoClicked() } }
+ }
+ }
diff --git a/examples/declarative/flickr/flickrmobile/ImageDetails.qml b/examples/declarative/flickr/flickrmobile/ImageDetails.qml
new file mode 100755
index 00000000..faf38068
--- /dev/null
+++ b/examples/declarative/flickr/flickrmobile/ImageDetails.qml
@@ -0,0 +1,156 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Mobility Components.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+import "../flickrcommon" as Common
+
+Flipable {
+ id: container
+
+ property variant frontContainer: containerFront
+ property string photoTitle: ""
+ property string photoDate
+ property string photoUrl
+ property variant prevScale: 1.0
+
+ signal closed
+
+ transform: Rotation {
+ id: itemRotation
+ origin.x: container.width / 2;
+ axis.y: 1; axis.z: 0
+ }
+
+ front: Item {
+ id: containerFront; anchors.fill: container
+
+ Rectangle {
+ anchors.fill: parent
+ color: "black"; opacity: 0.4
+ }
+
+ Column {
+ spacing: 10
+ anchors {
+ left: parent.left; leftMargin: 20
+ right: parent.right; rightMargin: 20
+ top: parent.top; topMargin: 180
+ }
+ Text { font.bold: true; color: "white"; elide: Text.ElideRight; text: container.photoTitle }
+ Text { color: "white"; elide: Text.ElideRight; text: "<b>Published:</b> " + container.photoDate }
+ }
+ }
+
+ back: Item {
+ anchors.fill: container
+
+ Rectangle { anchors.fill: parent; color: "black"; opacity: 0.4 }
+
+ Common.Progress {
+ anchors.centerIn: parent; width: 200; height: 18
+ progress: bigImage.progress; visible: bigImage.status != Image.Ready
+ }
+
+ Flickable {
+ id: flickable; anchors.fill: parent; clip: true
+ contentWidth: imageContainer.width; contentHeight: imageContainer.height
+
+ Item {
+ id: imageContainer
+ width: Math.max(bigImage.width * bigImage.scale, flickable.width);
+ height: Math.max(bigImage.height * bigImage.scale, flickable.height);
+
+ Image {
+ id: bigImage; // source: container.photoUrl
+ source: container.photoUrl
+ scale: slider.value
+ anchors.centerIn: parent; smooth: !flickable.movingVertically
+ onStatusChanged : {
+ // Default scale shows the entire image.
+ if (status == Image.Ready && width != 0) {
+ slider.minimum = Math.min(flickable.width / width, flickable.height / height);
+ prevScale = Math.min(slider.minimum, 1);
+ slider.value = prevScale;
+ }
+ }
+ }
+ }
+ }
+
+ Text {
+ text: "Image Unavailable"
+ visible: bigImage.status == Image.Error
+ anchors.centerIn: parent; color: "white"; font.bold: true
+ }
+
+ Common.Slider {
+ id: slider; visible: { bigImage.status == Image.Ready && maximum > minimum }
+ anchors {
+ bottom: parent.bottom; bottomMargin: 65
+ left: parent.left; leftMargin: 25
+ right: parent.right; rightMargin: 25
+ }
+ onValueChanged: {
+ if (bigImage.width * value > flickable.width) {
+ var xoff = (flickable.width/2 + flickable.contentX) * value / prevScale;
+ flickable.contentX = xoff - flickable.width/2;
+ }
+ if (bigImage.height * value > flickable.height) {
+ var yoff = (flickable.height/2 + flickable.contentY) * value / prevScale;
+ flickable.contentY = yoff - flickable.height/2;
+ }
+ prevScale = value;
+ }
+ }
+ }
+
+ states: State {
+ name: "Back"
+ PropertyChanges { target: itemRotation; angle: 180 }
+ }
+
+ transitions: Transition {
+ SequentialAnimation {
+ PropertyAction { target: bigImage; property: "smooth"; value: false }
+ NumberAnimation { easing.type: Easing.InOutQuad; properties: "angle"; duration: 500 }
+ PropertyAction { target: bigImage; property: "smooth"; value: !flickable.movingVertically }
+ }
+ }
+}
diff --git a/examples/declarative/flickr/flickrmobile/ListDelegate.qml b/examples/declarative/flickr/flickrmobile/ListDelegate.qml
new file mode 100755
index 00000000..86334db5
--- /dev/null
+++ b/examples/declarative/flickr/flickrmobile/ListDelegate.qml
@@ -0,0 +1,66 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Mobility Components.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+ Component {
+ Item {
+ id: wrapper; width: wrapper.ListView.view.width; height: 86
+ Item {
+ id: moveMe
+ Rectangle { color: "black"; opacity: index % 2 ? 0.2 : 0.4; height: 84; width: wrapper.width; y: 1 }
+ Rectangle {
+ x: 6; y: 4; width: 76; height: 76; color: "white"; smooth: true
+
+ Image {
+ //source: imagePath;
+ source: "http://farm" + farm + ".static.flickr.com/" + server + "/" + id + "_" + secret + "_t.jpg"
+ width: parent.width; height: parent.height
+ x: 0; y: 0 }
+
+ Image { source: "images/gloss.png" }
+ }
+ Column {
+ x: 92; width: wrapper.ListView.view.width - 95; y: 15; spacing: 2
+ Text { text: title; color: "white"; width: parent.width; font.bold: true; elide: Text.ElideRight; style: Text.Raised; styleColor: "black" }
+ Text { text: datetaken; width: parent.width; elide: Text.ElideRight; color: "#cccccc"; style: Text.Raised; styleColor: "black" }
+ }
+ }
+ }
+}
diff --git a/examples/declarative/flickr/flickrmobile/TitleBar.qml b/examples/declarative/flickr/flickrmobile/TitleBar.qml
new file mode 100755
index 00000000..0dda09f1
--- /dev/null
+++ b/examples/declarative/flickr/flickrmobile/TitleBar.qml
@@ -0,0 +1,77 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Mobility Components.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+Item {
+ id: titleBar
+ BorderImage { source: "images/titlebar.sci"; width: parent.width; height: parent.height + 14; y: -7 }
+
+ Item {
+ id: container
+ width: (parent.width * 2) - 55 ; height: parent.height
+
+ Image {
+ id: quitButton
+ anchors.left: parent.left//; anchors.leftMargin: 0
+ anchors.verticalCenter: parent.verticalCenter
+ source: "images/quit.png"
+ MouseArea {
+ anchors.fill: parent
+ onClicked: Qt.quit()
+ }
+ }
+
+ Text {
+ id: categoryText
+ anchors {
+ left: quitButton.right; leftMargin: 10; rightMargin: 10
+ verticalCenter: parent.verticalCenter
+ }
+ elide: Text.ElideLeft
+ text: "Declarative location Flickr"
+ font.bold: true; color: "White"; style: Text.Raised; styleColor: "Black"
+ }
+ }
+
+ transitions: Transition {
+ NumberAnimation { properties: "x"; easing.type: Easing.InOutQuad }
+ }
+}
diff --git a/examples/declarative/flickr/flickrmobile/ToolBar.qml b/examples/declarative/flickr/flickrmobile/ToolBar.qml
new file mode 100755
index 00000000..38cbf286
--- /dev/null
+++ b/examples/declarative/flickr/flickrmobile/ToolBar.qml
@@ -0,0 +1,64 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Mobility Components.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+Item {
+ id: toolbar
+
+ property alias button1Label: button1.text
+ property alias button2Label: button2.text
+ signal button1Clicked
+ signal button2Clicked
+
+ BorderImage { source: "images/titlebar.sci"; width: parent.width; height: parent.height + 14; y: -7 }
+
+ Button {
+ id: button1
+ anchors.left: parent.left; anchors.leftMargin: 5; y: 3; width: 140; height: 32
+ onClicked: toolbar.button1Clicked()
+ }
+
+ Button {
+ id: button2
+ anchors.right: parent.right; anchors.rightMargin: 5; y: 3; width: 140; height: 32
+ onClicked: toolbar.button2Clicked()
+ }
+}
diff --git a/examples/declarative/flickr/flickrmobile/images/gloss.png b/examples/declarative/flickr/flickrmobile/images/gloss.png
new file mode 100755
index 00000000..5d370cd9
--- /dev/null
+++ b/examples/declarative/flickr/flickrmobile/images/gloss.png
Binary files differ
diff --git a/examples/declarative/flickr/flickrmobile/images/lineedit.png b/examples/declarative/flickr/flickrmobile/images/lineedit.png
new file mode 100755
index 00000000..2cc38dc3
--- /dev/null
+++ b/examples/declarative/flickr/flickrmobile/images/lineedit.png
Binary files differ
diff --git a/examples/declarative/flickr/flickrmobile/images/lineedit.sci b/examples/declarative/flickr/flickrmobile/images/lineedit.sci
new file mode 100755
index 00000000..054bff78
--- /dev/null
+++ b/examples/declarative/flickr/flickrmobile/images/lineedit.sci
@@ -0,0 +1,5 @@
+border.left: 10
+border.top: 10
+border.bottom: 10
+border.right: 10
+source: lineedit.png
diff --git a/examples/declarative/flickr/flickrmobile/images/moon.png b/examples/declarative/flickr/flickrmobile/images/moon.png
new file mode 100755
index 00000000..9407b2b4
--- /dev/null
+++ b/examples/declarative/flickr/flickrmobile/images/moon.png
Binary files differ
diff --git a/examples/declarative/flickr/flickrmobile/images/quit.png b/examples/declarative/flickr/flickrmobile/images/quit.png
new file mode 100755
index 00000000..5bda1b6e
--- /dev/null
+++ b/examples/declarative/flickr/flickrmobile/images/quit.png
Binary files differ
diff --git a/examples/declarative/flickr/flickrmobile/images/star.png b/examples/declarative/flickr/flickrmobile/images/star.png
new file mode 100755
index 00000000..27ef9242
--- /dev/null
+++ b/examples/declarative/flickr/flickrmobile/images/star.png
Binary files differ
diff --git a/examples/declarative/flickr/flickrmobile/images/stripes.png b/examples/declarative/flickr/flickrmobile/images/stripes.png
new file mode 100755
index 00000000..9f36727e
--- /dev/null
+++ b/examples/declarative/flickr/flickrmobile/images/stripes.png
Binary files differ
diff --git a/examples/declarative/flickr/flickrmobile/images/sun.png b/examples/declarative/flickr/flickrmobile/images/sun.png
new file mode 100755
index 00000000..7713ca5c
--- /dev/null
+++ b/examples/declarative/flickr/flickrmobile/images/sun.png
Binary files differ
diff --git a/examples/declarative/flickr/flickrmobile/images/titlebar.png b/examples/declarative/flickr/flickrmobile/images/titlebar.png
new file mode 100755
index 00000000..51c90082
--- /dev/null
+++ b/examples/declarative/flickr/flickrmobile/images/titlebar.png
Binary files differ
diff --git a/examples/declarative/flickr/flickrmobile/images/titlebar.sci b/examples/declarative/flickr/flickrmobile/images/titlebar.sci
new file mode 100755
index 00000000..0418d94c
--- /dev/null
+++ b/examples/declarative/flickr/flickrmobile/images/titlebar.sci
@@ -0,0 +1,5 @@
+border.left: 10
+border.top: 12
+border.bottom: 12
+border.right: 10
+source: titlebar.png
diff --git a/examples/declarative/flickr/flickrmobile/images/toolbutton.png b/examples/declarative/flickr/flickrmobile/images/toolbutton.png
new file mode 100755
index 00000000..11310013
--- /dev/null
+++ b/examples/declarative/flickr/flickrmobile/images/toolbutton.png
Binary files differ
diff --git a/examples/declarative/flickr/flickrmobile/images/toolbutton.sci b/examples/declarative/flickr/flickrmobile/images/toolbutton.sci
new file mode 100755
index 00000000..9e4f9653
--- /dev/null
+++ b/examples/declarative/flickr/flickrmobile/images/toolbutton.sci
@@ -0,0 +1,5 @@
+border.left: 15
+border.top: 4
+border.bottom: 4
+border.right: 15
+source: toolbutton.png
diff --git a/examples/declarative/flickr/flickrmobile/nmealog.txt b/examples/declarative/flickr/flickrmobile/nmealog.txt
new file mode 100755
index 00000000..8c8286dd
--- /dev/null
+++ b/examples/declarative/flickr/flickrmobile/nmealog.txt
@@ -0,0 +1,1403 @@
+$GPGGA,222437.000,2734.33926,S,15305.44310,E,1,07,1.3,50.6,M,39.2,M,,*72
+$GPGLL,2734.33926,S,15305.44310,E,222437.000,A,A*49
+$GPGSA,A,3,16,25,23,20,13,27,11,,,,,,2.3,1.3,1.9*3D
+$GPGST,222437.000,13.3,7.4,6.6,85.1,6.0,6.8,13.7*56
+$GPGSV,3,1,10,16,49,115,42,25,39,269,36,23,58,176,29,20,72,335,35*75
+$GPGSV,3,2,10,19,02,028,,04,06,241,22,13,30,223,30,27,19,284,35*78
+$GPGSV,3,3,10,11,06,337,30,03,13,055,25*7C
+$GPRMC,222437.000,A,2734.33926,S,15305.44310,E,33.9,157.8,030308,11.2,W,A*0F
+$GPVTG,157.8,T,169.0,M,33.9,N,62.9,K,A*22
+$GPGGA,222438.000,2734.34821,S,15305.44697,E,1,07,1.2,50.8,M,39.2,M,,*79
+$GPGLL,2734.34821,S,15305.44697,E,222438.000,A,A*4D
+$GPGSA,A,3,16,25,23,20,13,27,03,,,,,,2.1,1.2,1.7*33
+$GPGST,222438.000,12.4,6.4,9.3,16.2,6.1,8.3,16.4*5F
+$GPGSV,3,1,10,16,49,115,41,25,39,269,36,23,58,176,28,20,72,335,36*74
+$GPGSV,3,2,10,19,02,028,,04,06,241,20,13,30,223,28,27,19,284,35*73
+$GPGSV,3,3,10,11,06,337,28,03,13,055,25*75
+$GPRMC,222438.000,A,2734.34821,S,15305.44697,E,33.8,158.3,030308,11.2,W,A*0E
+$GPVTG,158.3,T,169.5,M,33.8,N,62.5,K,A*2E
+$GPGGA,222439.000,2734.35696,S,15305.45072,E,1,06,1.7,51.2,M,39.2,M,,*78
+$GPGLL,2734.35696,S,15305.45072,E,222439.000,A,A*43
+$GPGSA,A,3,16,25,23,20,13,27,,,,,,,3.3,1.7,2.8*3A
+$GPGST,222439.000,10.3,9.1,12.2,44.6,9.8,9.9,25.2*62
+$GPGSV,3,1,10,16,49,115,34,25,39,269,36,23,58,175,29,20,72,335,35*77
+$GPGSV,3,2,10,19,02,028,,04,06,241,20,13,30,223,27,27,19,284,32*7B
+$GPGSV,3,3,10,11,06,337,28,03,14,055,25*72
+$GPRMC,222439.000,A,2734.35696,S,15305.45072,E,33.2,158.7,030308,11.2,W,A*0E
+$GPVTG,158.7,T,169.9,M,33.2,N,61.5,K,A*2F
+$GPGGA,222440.000,2734.36580,S,15305.45446,E,1,07,1.3,52.0,M,39.2,M,,*76
+$GPGLL,2734.36580,S,15305.45446,E,222440.000,A,A*49
+$GPGSA,A,3,16,25,23,20,13,27,11,,,,,,2.3,1.3,1.9*3D
+$GPGST,222440.000,13.0,8.0,13.4,6.2,7.4,12.2,20.9*64
+$GPGSV,3,1,10,16,49,115,40,25,39,269,38,23,58,175,31,20,72,335,34*72
+$GPGSV,3,2,10,19,02,028,,04,06,241,20,13,30,223,26,27,19,284,30*78
+$GPGSV,3,3,10,11,06,337,26,03,14,055,25*7C
+$GPRMC,222440.000,A,2734.36580,S,15305.45446,E,33.7,159.1,030308,11.2,W,A*06
+$GPVTG,159.1,T,170.3,M,33.7,N,62.4,K,A*2D
+$GPGGA,222441.000,2734.37483,S,15305.45825,E,1,07,1.3,52.7,M,39.2,M,,*7A
+$GPGLL,2734.37483,S,15305.45825,E,222441.000,A,A*42
+$GPGSA,A,3,16,25,23,20,13,27,11,,,,,,2.3,1.3,1.9*3D
+$GPGST,222441.000,14.0,7.6,14.1,17.6,7.7,12.5,21.0*51
+$GPGSV,3,1,10,16,49,115,41,25,39,269,39,23,58,175,29,20,72,335,35*7A
+$GPGSV,3,2,10,19,02,028,,04,06,241,20,13,30,223,24,27,19,284,30*7A
+$GPGSV,3,3,10,11,06,337,28,03,14,055,25*72
+$GPRMC,222441.000,A,2734.37483,S,15305.45825,E,34.6,159.4,030308,11.2,W,A*0E
+$GPVTG,159.4,T,170.6,M,34.6,N,64.1,K,A*28
+$GPGGA,222442.000,2734.38407,S,15305.46216,E,1,06,1.3,53.3,M,39.2,M,,*77
+$GPGLL,2734.38407,S,15305.46216,E,222442.000,A,A*4B
+$GPGSA,A,3,16,25,20,13,27,11,,,,,,,2.3,1.3,1.9*3C
+$GPGST,222442.000,16.6,7.0,14.4,14.6,7.0,12.8,21.6*5A
+$GPGSV,3,1,10,16,49,115,40,25,39,269,38,23,58,175,22,20,72,335,35*71
+$GPGSV,3,2,10,19,02,028,,04,06,241,20,13,30,223,25,27,19,284,29*73
+$GPGSV,3,3,10,11,06,337,27,03,14,055,25*7D
+$GPRMC,222442.000,A,2734.38407,S,15305.46216,E,35.5,159.3,030308,11.2,W,A*02
+$GPVTG,159.3,T,170.5,M,35.5,N,65.8,K,A*26
+$GPGGA,222443.000,2734.39347,S,15305.46609,E,1,05,1.8,53.8,M,39.2,M,,*7D
+$GPGLL,2734.39347,S,15305.46609,E,222443.000,A,A*42
+$GPGSA,A,3,16,25,20,27,11,,,,,,,,2.8,1.8,2.1*35
+$GPGST,222443.000,11.3,6.5,14.6,14.5,6.6,13.0,18.4*5A
+$GPGSV,3,1,10,16,49,115,40,25,39,269,38,23,58,175,22,20,72,335,36*72
+$GPGSV,3,2,10,19,02,028,,04,06,241,20,13,30,223,26,27,19,284,31*79
+$GPGSV,3,3,10,11,06,337,28,03,14,055,25*72
+$GPRMC,222443.000,A,2734.39347,S,15305.46609,E,36.2,159.4,030308,11.2,W,A*08
+$GPVTG,159.4,T,170.6,M,36.2,N,67.0,K,A*2C
+$GPGGA,222444.000,2734.40297,S,15305.47000,E,1,06,1.3,54.1,M,39.2,M,,*70
+$GPGLL,2734.40297,S,15305.47000,E,222444.000,A,A*49
+$GPGSA,A,3,16,25,20,13,27,11,,,,,,,2.3,1.3,1.9*3C
+$GPGST,222444.000,17.6,6.3,12.7,14.4,6.3,11.4,16.2*55
+$GPGSV,3,1,10,16,49,115,38,25,39,269,38,23,58,175,22,20,72,335,35*7E
+$GPGSV,3,2,10,19,02,028,,04,06,241,20,13,30,223,25,27,19,284,29*73
+$GPGSV,3,3,10,11,06,337,25,03,14,055,23*79
+$GPRMC,222444.000,A,2734.40297,S,15305.47000,E,36.5,159.5,030308,11.2,W,A*05
+$GPVTG,159.5,T,170.8,M,36.5,N,67.5,K,A*21
+$GPGGA,222445.000,2734.41247,S,15305.47390,E,1,07,1.3,54.2,M,39.2,M,,*75
+$GPGLL,2734.41247,S,15305.47390,E,222445.000,A,A*4E
+$GPGSA,A,3,16,25,23,20,13,27,11,,,,,,2.3,1.3,1.9*3D
+$GPGST,222445.000,16.0,7.0,14.4,10.4,6.7,13.0,20.7*52
+$GPGSV,3,1,10,16,49,115,36,25,39,269,36,23,58,175,22,20,72,335,34*7F
+$GPGSV,3,2,10,19,02,028,,04,06,241,20,13,30,223,26,27,19,284,31*79
+$GPGSV,3,3,10,11,06,337,26,03,14,055,23*7A
+$GPRMC,222445.000,A,2734.41247,S,15305.47390,E,36.6,159.7,030308,11.2,W,A*03
+$GPVTG,159.7,T,170.9,M,36.6,N,67.8,K,A*2C
+$GPGGA,222446.000,2734.42201,S,15305.47790,E,1,07,1.3,54.4,M,39.2,M,,*75
+$GPGLL,2734.42201,S,15305.47790,E,222446.000,A,A*48
+$GPGSA,A,3,16,25,23,20,13,27,11,,,,,,2.3,1.3,1.9*3D
+$GPGST,222446.000,13.0,7.4,12.3,6.6,6.9,11.2,17.9*60
+$GPGSV,3,1,10,16,49,115,36,25,39,269,37,23,58,175,27,20,72,335,35*7A
+$GPGSV,3,2,10,19,02,028,,04,06,241,23,13,30,223,30,27,19,284,32*7E
+$GPGSV,3,3,10,11,06,337,27,03,14,055,23*7B
+$GPRMC,222446.000,A,2734.42201,S,15305.47790,E,36.6,159.3,030308,11.2,W,A*01
+$GPVTG,159.3,T,170.5,M,36.6,N,67.7,K,A*2B
+$GPGGA,222447.000,2734.43157,S,15305.48195,E,1,07,1.3,54.3,M,39.2,M,,*7E
+$GPGLL,2734.43157,S,15305.48195,E,222447.000,A,A*44
+$GPGSA,A,3,16,25,23,20,13,27,11,,,,,,2.3,1.3,1.9*3D
+$GPGST,222447.000,10.7,6.7,10.5,6.6,6.2,9.6,15.5*5B
+$GPGSV,3,1,11,16,49,115,32,25,39,269,37,23,58,175,28,20,72,335,33*76
+$GPGSV,3,2,11,19,02,028,,04,06,241,23,13,30,223,30,27,19,284,32*7F
+$GPGSV,3,3,11,11,06,337,29,01,,,19,03,14,055,23*7D
+$GPRMC,222447.000,A,2734.43157,S,15305.48195,E,36.7,159.1,030308,11.2,W,A*0E
+$GPVTG,159.1,T,170.3,M,36.7,N,67.9,K,A*20
+$GPGGA,222448.000,2734.44111,S,15305.48610,E,1,08,1.1,54.1,M,39.2,M,,*71
+$GPGLL,2734.44111,S,15305.48610,E,222448.000,A,A*44
+$GPGSA,A,3,16,25,23,20,13,27,11,03,,,,,2.0,1.1,1.6*30
+$GPGST,222448.000,20.4,10.5,8.8,52.5,8.7,9.1,15.2*6C
+$GPGSV,3,1,11,16,49,115,27,25,39,269,38,23,58,175,26,20,72,335,31*71
+$GPGSV,3,2,11,19,02,028,,04,06,241,23,13,30,223,37,27,19,284,27*7C
+$GPGSV,3,3,11,11,06,337,27,01,,,19,03,14,055,23*73
+$GPRMC,222448.000,A,2734.44111,S,15305.48610,E,36.8,158.7,030308,11.2,W,A*06
+$GPVTG,158.7,T,169.9,M,36.8,N,68.2,K,A*2E
+$GPGGA,222449.000,2734.45068,S,15305.49044,E,1,08,1.1,53.6,M,39.2,M,,*78
+$GPGLL,2734.45068,S,15305.49044,E,222449.000,A,A*4D
+$GPGSA,A,3,16,25,23,20,13,27,11,03,,,,,2.0,1.1,1.6*30
+$GPGST,222449.000,17.1,8.8,10.2,14.2,8.2,9.3,17.4*6D
+$GPGSV,3,1,11,16,49,115,28,25,39,269,37,23,58,175,25,20,72,335,28*7A
+$GPGSV,3,2,11,19,02,028,,04,06,241,23,13,30,223,37,27,19,284,32*78
+$GPGSV,3,3,11,11,06,337,27,01,,,19,03,14,055,24*74
+$GPRMC,222449.000,A,2734.45068,S,15305.49044,E,37.2,157.8,030308,11.2,W,A*04
+$GPVTG,157.8,T,169.0,M,37.2,N,68.9,K,A*27
+$GPGGA,222450.000,2734.46041,S,15305.49485,E,1,08,1.1,53.3,M,39.2,M,,*74
+$GPGLL,2734.46041,S,15305.49485,E,222450.000,A,A*44
+$GPGSA,A,3,16,25,23,20,13,27,11,03,,,,,2.0,1.1,1.6*30
+$GPGST,222450.000,17.4,8.9,12.7,10.1,11.5,8.2,16.5*5E
+$GPGSV,3,1,11,16,49,115,25,25,39,269,36,23,58,175,30,20,72,336,28*71
+$GPGSV,3,2,11,19,02,028,,04,06,241,21,13,30,223,38,27,19,284,34*73
+$GPGSV,3,3,11,11,06,337,27,01,,,19,03,14,055,22*72
+$GPRMC,222450.000,A,2734.46041,S,15305.49485,E,37.7,157.9,030308,11.2,W,A*09
+$GPVTG,157.9,T,169.1,M,37.7,N,69.8,K,A*22
+$GPGGA,222451.000,2734.47033,S,15305.49924,E,1,08,1.1,53.1,M,39.2,M,,*75
+$GPGLL,2734.47033,S,15305.49924,E,222451.000,A,A*47
+$GPGSA,A,3,16,25,23,20,13,27,11,03,,,,,2.0,1.1,1.6*30
+$GPGST,222451.000,14.1,8.0,10.5,14.3,9.5,7.5,15.0*61
+$GPGSV,3,1,11,16,49,115,27,25,39,269,38,23,58,175,28,20,72,336,25*79
+$GPGSV,3,2,11,19,02,028,,04,06,241,21,13,30,223,38,27,19,284,34*73
+$GPGSV,3,3,11,11,06,337,24,01,,,19,03,14,055,25*76
+$GPRMC,222451.000,A,2734.47033,S,15305.49924,E,38.1,158.1,030308,11.2,W,A*04
+$GPVTG,158.1,T,169.3,M,38.1,N,70.5,K,A*2B
+$GPGGA,222452.000,2734.48022,S,15305.50375,E,1,08,1.1,52.5,M,39.2,M,,*7A
+$GPGLL,2734.48022,S,15305.50375,E,222452.000,A,A*4D
+$GPGSA,A,3,16,25,23,20,13,27,11,03,,,,,2.0,1.1,1.6*30
+$GPGST,222452.000,24.1,13.9,9.7,80.6,12.7,9.0,21.0*54
+$GPGSV,3,1,11,16,49,115,29,25,39,269,38,23,58,175,27,20,72,336,30*7C
+$GPGSV,3,2,11,19,02,028,,04,06,241,21,13,30,223,35,27,19,284,34*7E
+$GPGSV,3,3,11,11,06,337,22,01,,,19,03,14,055,24*71
+$GPRMC,222452.000,A,2734.48022,S,15305.50375,E,38.3,157.9,030308,11.2,W,A*0B
+$GPVTG,157.9,T,169.1,M,38.3,N,70.9,K,A*20
+$GPGGA,222453.000,2734.49019,S,15305.50802,E,1,06,1.7,52.1,M,39.2,M,,*75
+$GPGLL,2734.49019,S,15305.50802,E,222453.000,A,A*4E
+$GPGSA,A,3,16,25,23,20,13,27,,,,,,,3.3,1.7,2.8*3A
+$GPGST,222453.000,10.4,15.4,9.3,66.3,13.4,9.6,24.6*52
+$GPGSV,3,1,11,16,49,115,31,25,39,269,36,23,58,175,28,20,71,336,25*73
+$GPGSV,3,2,11,19,02,028,,04,06,241,21,13,30,223,33,27,19,284,31*7D
+$GPGSV,3,3,11,11,06,337,22,01,,,19,03,14,055,24*71
+$GPRMC,222453.000,A,2734.49019,S,15305.50802,E,38.3,159.1,030308,11.2,W,A*0E
+$GPVTG,159.1,T,170.3,M,38.3,N,70.9,K,A*2C
+$GPGGA,222454.000,2734.50008,S,15305.51221,E,1,07,1.3,52.1,M,39.2,M,,*75
+$GPGLL,2734.50008,S,15305.51221,E,222454.000,A,A*4B
+$GPGSA,A,3,16,25,23,20,13,27,11,,,,,,2.3,1.3,1.9*3D
+$GPGST,222454.000,12.5,11.7,8.3,70.6,10.4,8.0,19.0*5E
+$GPGSV,3,1,11,16,49,115,30,25,39,269,36,23,58,175,26,20,71,336,28*71
+$GPGSV,3,2,11,19,02,028,,04,06,241,21,13,30,223,32,27,19,284,30*7D
+$GPGSV,3,3,11,11,06,337,24,01,,,18,03,14,055,24*76
+$GPRMC,222454.000,A,2734.50008,S,15305.51221,E,38.1,159.4,030308,11.2,W,A*0C
+$GPVTG,159.4,T,170.6,M,38.1,N,70.5,K,A*22
+$GPGGA,222455.000,2734.50992,S,15305.51642,E,1,07,1.3,52.2,M,39.2,M,,*7C
+$GPGLL,2734.50992,S,15305.51642,E,222455.000,A,A*41
+$GPGSA,A,3,16,25,23,20,13,27,11,,,,,,2.3,1.3,1.9*3D
+$GPGST,222455.000,11.5,10.8,9.3,83.5,9.9,8.6,23.3*65
+$GPGSV,3,1,11,16,49,115,33,25,39,269,36,23,58,175,32,20,71,336,31*7F
+$GPGSV,3,2,11,19,02,028,,04,06,241,21,13,30,223,29,27,19,284,29*7F
+$GPGSV,3,3,11,11,06,337,28,01,,,18,03,14,055,24*7A
+$GPRMC,222455.000,A,2734.50992,S,15305.51642,E,37.8,159.0,030308,11.2,W,A*04
+$GPVTG,159.0,T,170.2,M,37.8,N,70.0,K,A*21
+$GPGGA,222456.000,2734.51963,S,15305.52059,E,1,07,1.3,52.5,M,39.2,M,,*78
+$GPGLL,2734.51963,S,15305.52059,E,222456.000,A,A*42
+$GPGSA,A,3,16,25,23,20,13,27,11,,,,,,2.3,1.3,1.9*3D
+$GPGST,222456.000,11.3,9.0,13.1,11.0,8.4,11.9,20.9*55
+$GPGSV,3,1,11,16,49,115,31,25,39,269,37,23,58,175,27,20,71,336,33*7A
+$GPGSV,3,2,11,19,02,028,,04,06,241,19,13,30,223,29,27,19,284,32*7E
+$GPGSV,3,3,11,11,06,337,30,01,,,18,03,14,055,24*73
+$GPRMC,222456.000,A,2734.51963,S,15305.52059,E,37.3,158.8,030308,11.2,W,A*05
+$GPVTG,158.8,T,170.0,M,37.3,N,69.1,K,A*28
+$GPGGA,222457.000,2734.52908,S,15305.52467,E,1,06,1.3,53.2,M,39.2,M,,*79
+$GPGLL,2734.52908,S,15305.52467,E,222457.000,A,A*44
+$GPGSA,A,3,16,25,20,13,27,11,,,,,,,2.3,1.3,1.9*3C
+$GPGST,222457.000,20.4,7.8,12.0,8.1,7.3,10.9,17.9*63
+$GPGSV,3,1,11,16,49,115,37,25,39,269,37,23,58,175,24,20,71,336,35*79
+$GPGSV,3,2,11,19,02,028,,04,06,241,19,13,30,223,29,27,19,284,32*7E
+$GPGSV,3,3,11,11,06,337,28,01,,,18,03,14,055,23*7D
+$GPRMC,222457.000,A,2734.52908,S,15305.52467,E,36.2,158.7,030308,11.2,W,A*0C
+$GPVTG,158.7,T,169.9,M,36.2,N,67.1,K,A*28
+$GPGGA,222458.000,2734.53845,S,15305.52866,E,1,06,1.6,54.2,M,39.2,M,,*70
+$GPGLL,2734.53845,S,15305.52866,E,222458.000,A,A*4F
+$GPGSA,A,3,16,25,23,20,27,11,,,,,,,2.6,1.6,2.1*34
+$GPGST,222458.000,16.7,7.3,13.9,11.0,7.0,12.5,17.9*5D
+$GPGSV,3,1,11,16,49,115,36,25,39,269,37,23,58,175,24,20,71,336,35*78
+$GPGSV,3,2,11,19,02,028,19,04,06,241,19,13,30,223,26,27,19,284,31*7A
+$GPGSV,3,3,11,11,06,337,23,01,,,18,03,14,055,23*76
+$GPRMC,222458.000,A,2734.53845,S,15305.52866,E,35.9,159.1,030308,11.2,W,A*08
+$GPVTG,159.1,T,170.3,M,35.9,N,66.5,K,A*20
+$GPGGA,222459.000,2734.54772,S,15305.53309,E,1,08,1.1,55.6,M,39.2,M,,*72
+$GPGLL,2734.54772,S,15305.53309,E,222459.000,A,A*41
+$GPGSA,A,3,16,25,23,20,13,27,11,03,,,,,2.0,1.1,1.6*30
+$GPGST,222459.000,17.5,6.5,9.3,15.5,6.1,8.3,15.2*5C
+$GPGSV,3,1,11,16,49,115,38,25,39,268,36,23,58,175,35,20,71,336,35*76
+$GPGSV,3,2,11,19,02,028,19,04,06,241,19,13,30,223,33,27,19,284,34*7B
+$GPGSV,3,3,11,11,06,337,29,01,,,18,03,14,055,22*7D
+$GPRMC,222459.000,A,2734.54772,S,15305.53309,E,35.9,156.8,030308,11.2,W,A*00
+$GPVTG,156.8,T,168.0,M,35.9,N,66.4,K,A*2D
+$GPGGA,222500.000,2734.55655,S,15305.53845,E,1,08,1.1,56.1,M,39.2,M,,*7D
+$GPGLL,2734.55655,S,15305.53845,E,222500.000,A,A*4A
+$GPGSA,A,3,16,25,23,20,13,27,11,03,,,,,2.0,1.1,1.6*30
+$GPGST,222500.000,14.5,9.8,7.9,83.3,7.3,9.0,14.3*5C
+$GPGSV,3,1,11,16,49,115,36,25,39,268,31,23,58,175,39,20,71,336,33*75
+$GPGSV,3,2,11,19,02,028,21,04,06,241,19,13,30,223,30,27,19,284,29*7F
+$GPGSV,3,3,11,11,06,337,25,01,,,18,03,14,055,28*7B
+$GPRMC,222500.000,A,2734.55655,S,15305.53845,E,35.9,151.6,030308,11.2,W,A*02
+$GPVTG,151.6,T,162.8,M,35.9,N,66.5,K,A*27
+$GPGGA,222501.000,2734.56495,S,15305.54489,E,1,08,1.1,57.0,M,39.2,M,,*7A
+$GPGLL,2734.56495,S,15305.54489,E,222501.000,A,A*4D
+$GPGSA,A,3,16,25,23,20,13,27,11,03,,,,,2.0,1.1,1.6*30
+$GPGST,222501.000,14.3,8.0,10.9,27.0,8.0,9.5,15.6*64
+$GPGSV,3,1,11,16,49,115,41,25,39,268,31,23,58,175,36,20,71,336,31*78
+$GPGSV,3,2,11,19,02,028,21,04,06,241,19,13,30,223,27,27,19,284,29*79
+$GPGSV,3,3,11,11,06,337,22,01,,,18,03,14,055,31*74
+$GPRMC,222501.000,A,2734.56495,S,15305.54489,E,36.5,145.7,030308,11.2,W,A*0E
+$GPVTG,145.7,T,156.9,M,36.5,N,67.5,K,A*2B
+$GPGGA,222502.000,2734.57337,S,15305.55181,E,1,06,1.5,57.9,M,39.2,M,,*78
+$GPGLL,2734.57337,S,15305.55181,E,222502.000,A,A*4C
+$GPGSA,A,3,16,25,23,20,27,03,,,,,,,2.5,1.5,2.0*36
+$GPGST,222502.000,14.5,7.0,11.9,20.7,7.1,10.5,15.0*5F
+$GPGSV,3,1,11,16,49,115,43,25,39,268,35,23,58,175,37,20,71,336,34*7A
+$GPGSV,3,2,11,19,02,028,21,04,06,241,19,13,30,223,23,27,19,284,33*76
+$GPGSV,3,3,11,11,06,337,22,01,,,18,03,14,055,34*71
+$GPRMC,222502.000,A,2734.57337,S,15305.55181,E,37.4,143.8,030308,11.2,W,A*06
+$GPVTG,143.8,T,155.0,M,37.4,N,69.3,K,A*20
+$GPGGA,222503.000,2734.58184,S,15305.55887,E,1,08,1.1,58.5,M,39.2,M,,*7A
+$GPGLL,2734.58184,S,15305.55887,E,222503.000,A,A*47
+$GPGSA,A,3,16,25,23,20,13,27,11,03,,,,,2.0,1.1,1.6*30
+$GPGST,222503.000,13.4,6.4,14.1,0.3,5.9,12.9,21.5*60
+$GPGSV,3,1,11,16,49,115,43,25,39,268,35,23,58,175,38,20,71,336,35*74
+$GPGSV,3,2,11,19,02,028,19,04,06,241,19,13,30,223,23,27,19,284,32*7C
+$GPGSV,3,3,11,11,06,337,26,01,,,17,03,14,055,34*7A
+$GPRMC,222503.000,A,2734.58184,S,15305.55887,E,37.8,143.4,030308,11.2,W,A*0D
+$GPVTG,143.4,T,154.6,M,37.8,N,70.0,K,A*2C
+$GPGGA,222504.000,2734.59032,S,15305.56580,E,1,07,1.2,58.9,M,39.2,M,,*79
+$GPGLL,2734.59032,S,15305.56580,E,222504.000,A,A*44
+$GPGSA,A,3,16,25,23,20,13,27,03,,,,,,2.1,1.2,1.7*33
+$GPGST,222504.000,24.6,6.2,13.3,3.6,5.7,12.2,20.2*67
+$GPGSV,3,1,11,16,49,115,43,25,39,268,35,23,58,175,39,20,71,336,35*75
+$GPGSV,3,2,11,19,02,028,19,04,06,241,19,13,30,223,22,27,19,284,31*7E
+$GPGSV,3,3,11,11,06,337,25,01,,,17,03,14,055,30*7D
+$GPRMC,222504.000,A,2734.59032,S,15305.56580,E,37.6,143.6,030308,11.2,W,A*02
+$GPVTG,143.6,T,154.8,M,37.6,N,69.7,K,A*21
+$GPGGA,222505.000,2734.59874,S,15305.57271,E,1,06,1.5,59.4,M,39.2,M,,*70
+$GPGLL,2734.59874,S,15305.57271,E,222505.000,A,A*47
+$GPGSA,A,3,16,25,23,20,27,03,,,,,,,2.5,1.5,2.0*36
+$GPGST,222505.000,17.4,5.5,11.8,3.4,5.0,10.8,17.3*61
+$GPGSV,3,1,11,16,49,115,44,25,39,268,35,23,58,175,39,20,71,336,36*71
+$GPGSV,3,2,11,19,02,028,21,04,06,241,19,13,30,223,24,27,19,284,31*73
+$GPGSV,3,3,11,11,06,337,,01,,,17,03,14,055,29*72
+$GPRMC,222505.000,A,2734.59874,S,15305.57271,E,37.3,143.7,030308,11.2,W,A*05
+$GPVTG,143.7,T,154.9,M,37.3,N,69.1,K,A*22
+$GPGGA,222506.000,2734.60703,S,15305.57943,E,1,07,1.2,60.1,M,39.2,M,,*75
+$GPGLL,2734.60703,S,15305.57943,E,222506.000,A,A*4B
+$GPGSA,A,3,16,25,23,20,13,27,03,,,,,,2.1,1.2,1.7*33
+$GPGST,222506.000,16.1,6.2,11.7,15.3,6.1,10.4,17.4*54
+$GPGSV,3,1,11,16,49,115,43,25,39,268,34,23,58,175,37,20,71,336,36*79
+$GPGSV,3,2,11,19,02,028,21,04,06,241,,13,30,223,24,27,19,284,31*7B
+$GPGSV,3,3,11,11,06,337,,01,,,17,03,14,055,28*73
+$GPRMC,222506.000,A,2734.60703,S,15305.57943,E,36.5,143.9,030308,11.2,W,A*00
+$GPVTG,143.9,T,155.1,M,36.5,N,67.6,K,A*2B
+$GPGGA,222507.000,2734.61507,S,15305.58593,E,1,07,1.2,60.9,M,39.2,M,,*75
+$GPGLL,2734.61507,S,15305.58593,E,222507.000,A,A*43
+$GPGSA,A,3,16,25,23,20,13,27,03,,,,,,2.1,1.2,1.7*33
+$GPGST,222507.000,14.0,6.8,11.8,10.9,6.4,10.7,18.5*54
+$GPGSV,3,1,11,16,49,115,43,25,39,268,34,23,58,175,37,20,71,336,34*7B
+$GPGSV,3,2,11,19,02,028,21,04,06,241,,13,30,223,29,27,19,284,34*73
+$GPGSV,3,3,11,11,06,337,,01,,,17,03,14,055,29*72
+$GPRMC,222507.000,A,2734.61507,S,15305.58593,E,35.4,143.9,030308,11.2,W,A*0A
+$GPVTG,143.9,T,155.1,M,35.4,N,65.5,K,A*28
+$GPGGA,222508.000,2734.62275,S,15305.59221,E,1,06,1.7,61.8,M,39.2,M,,*70
+$GPGLL,2734.62275,S,15305.59221,E,222508.000,A,A*42
+$GPGSA,A,3,16,25,23,20,13,27,,,,,,,3.3,1.7,2.8*3A
+$GPGST,222508.000,12.5,9.3,16.3,19.5,9.4,14.4,27.5*51
+$GPGSV,3,1,11,16,49,115,43,25,39,268,33,23,58,175,38,20,71,336,31*76
+$GPGSV,3,2,11,19,02,028,21,04,06,241,,13,30,223,30,27,19,284,35*7A
+$GPGSV,3,3,11,11,06,337,,01,,,17,03,14,055,28*73
+$GPRMC,222508.000,A,2734.62275,S,15305.59221,E,33.9,143.9,030308,11.2,W,A*00
+$GPVTG,143.9,T,155.1,M,33.9,N,62.9,K,A*28
+$GPGGA,222509.000,2734.63006,S,15305.59817,E,1,06,1.7,62.7,M,39.2,M,,*75
+$GPGLL,2734.63006,S,15305.59817,E,222509.000,A,A*4B
+$GPGSA,A,3,16,25,23,20,13,27,,,,,,,3.3,1.7,2.8*3A
+$GPGST,222509.000,10.4,8.1,14.2,21.9,8.4,12.3,23.7*52
+$GPGSV,3,1,11,16,49,115,44,25,39,268,32,23,58,175,37,20,71,336,29*76
+$GPGSV,3,2,11,19,02,028,21,04,06,241,,13,30,223,28,27,19,284,35*73
+$GPGSV,3,3,11,11,06,337,,01,,,17,03,14,055,30*7A
+$GPRMC,222509.000,A,2734.63006,S,15305.59817,E,32.2,143.9,030308,11.2,W,A*03
+$GPVTG,143.9,T,155.1,M,32.2,N,59.7,K,A*24
+$GPGGA,222510.000,2734.63706,S,15305.60376,E,1,06,1.7,63.5,M,39.2,M,,*7F
+$GPGLL,2734.63706,S,15305.60376,E,222510.000,A,A*42
+$GPGSA,A,3,16,25,23,20,13,27,,,,,,,3.3,1.7,2.8*3A
+$GPGST,222510.000,12.4,8.3,12.9,28.0,8.7,11.0,21.6*57
+$GPGSV,3,1,11,16,48,115,43,25,39,268,32,23,58,175,37,20,71,336,29*70
+$GPGSV,3,2,11,19,02,028,20,04,06,241,,13,30,223,31,27,19,284,35*7A
+$GPGSV,3,3,11,11,06,337,,01,,,17,03,14,055,25*7E
+$GPRMC,222510.000,A,2734.63706,S,15305.60376,E,30.6,144.3,030308,11.2,W,A*01
+$GPVTG,144.3,T,155.5,M,30.6,N,56.7,K,A*24
+$GPGGA,222511.000,2734.64376,S,15305.60904,E,1,07,1.2,64.4,M,39.2,M,,*77
+$GPGLL,2734.64376,S,15305.60904,E,222511.000,A,A*48
+$GPGSA,A,3,16,25,23,20,13,27,03,,,,,,2.1,1.2,1.7*33
+$GPGST,222511.000,14.6,5.7,10.5,2.7,5.2,9.6,15.0*5C
+$GPGSV,3,1,11,16,48,115,44,25,39,268,32,23,58,175,37,20,71,336,28*76
+$GPGSV,3,2,11,19,02,028,20,04,06,241,23,13,30,223,29,27,19,284,36*71
+$GPGSV,3,3,11,11,06,337,,01,,,17,03,14,055,29*72
+$GPRMC,222511.000,A,2734.64376,S,15305.60904,E,29.1,144.2,030308,11.2,W,A*05
+$GPVTG,144.2,T,155.4,M,29.1,N,53.9,K,A*20
+$GPGGA,222512.000,2734.64992,S,15305.61405,E,1,07,1.2,65.4,M,39.2,M,,*78
+$GPGLL,2734.64992,S,15305.61405,E,222512.000,A,A*46
+$GPGSA,A,3,16,25,23,20,13,27,03,,,,,,2.1,1.2,1.7*33
+$GPGST,222512.000,13.4,17.0,5.7,85.6,5.3,15.5,23.6*5A
+$GPGSV,3,1,11,16,48,115,45,25,39,268,33,23,58,175,38,20,71,336,28*79
+$GPGSV,3,2,11,19,02,028,20,04,06,241,23,13,30,223,26,27,19,284,33*7B
+$GPGSV,3,3,11,11,06,337,24,01,,,17,03,14,055,27*7A
+$GPRMC,222512.000,A,2734.64992,S,15305.61405,E,27.2,143.6,030308,11.2,W,A*05
+$GPVTG,143.6,T,154.8,M,27.2,N,50.5,K,A*2C
+$GPGGA,222513.000,2734.65572,S,15305.61884,E,1,07,1.2,66.2,M,39.2,M,,*7A
+$GPGLL,2734.65572,S,15305.61884,E,222513.000,A,A*41
+$GPGSA,A,3,16,25,23,20,13,27,03,,,,,,2.1,1.2,1.7*33
+$GPGST,222513.000,12.3,7.0,14.8,2.4,6.5,13.5,21.4*6D
+$GPGSV,3,1,10,16,48,115,44,25,39,268,35,23,58,175,38,20,71,336,28*7F
+$GPGSV,3,2,10,19,02,028,20,04,06,241,23,13,30,223,23,27,19,284,33*7F
+$GPGSV,3,3,10,11,06,337,24,03,14,055,28*73
+$GPRMC,222513.000,A,2734.65572,S,15305.61884,E,25.8,143.6,030308,11.2,W,A*0A
+$GPVTG,143.6,T,154.8,M,25.8,N,47.9,K,A*2E
+$GPGGA,222514.000,2734.66155,S,15305.62364,E,1,06,1.5,67.0,M,39.2,M,,*7C
+$GPGLL,2734.66155,S,15305.62364,E,222514.000,A,A*42
+$GPGSA,A,3,16,25,23,20,27,03,,,,,,,2.5,1.5,2.0*36
+$GPGST,222514.000,25.5,6.1,14.4,3.1,5.6,13.2,19.2*6A
+$GPGSV,3,1,10,16,48,115,44,25,39,268,33,23,58,175,38,20,71,336,26*77
+$GPGSV,3,2,10,19,02,028,18,04,06,241,23,13,30,223,23,27,19,284,34*73
+$GPGSV,3,3,10,11,06,337,28,03,14,055,29*7E
+$GPRMC,222514.000,A,2734.66155,S,15305.62364,E,25.9,143.6,030308,11.2,W,A*08
+$GPVTG,143.6,T,154.8,M,25.9,N,48.0,K,A*29
+$GPGGA,222515.000,2734.66761,S,15305.62860,E,1,06,1.5,67.5,M,39.2,M,,*76
+$GPGLL,2734.66761,S,15305.62860,E,222515.000,A,A*4D
+$GPGSA,A,3,16,25,23,20,27,03,,,,,,,2.5,1.5,2.0*36
+$GPGST,222515.000,20.1,5.5,13.0,3.0,5.1,11.8,17.4*68
+$GPGSV,3,1,10,16,48,115,44,25,39,268,32,23,58,175,38,20,71,336,26*76
+$GPGSV,3,2,10,19,02,028,18,04,06,241,23,13,30,223,24,27,19,284,34*74
+$GPGSV,3,3,10,11,06,337,28,03,14,055,24*73
+$GPRMC,222515.000,A,2734.66761,S,15305.62860,E,26.9,143.7,030308,11.2,W,A*05
+$GPVTG,143.7,T,154.9,M,26.9,N,49.8,K,A*23
+$GPGGA,222516.000,2734.67384,S,15305.63376,E,1,06,1.5,68.2,M,39.2,M,,*7E
+$GPGLL,2734.67384,S,15305.63376,E,222516.000,A,A*4D
+$GPGSA,A,3,16,25,23,20,27,03,,,,,,,2.5,1.5,2.0*36
+$GPGST,222516.000,16.4,5.8,11.5,4.5,5.3,10.5,17.3*6A
+$GPGSV,3,1,10,16,48,115,44,25,39,268,32,23,58,175,38,20,71,336,30*71
+$GPGSV,3,2,10,19,02,028,18,04,06,241,23,13,30,223,24,27,19,284,33*73
+$GPGSV,3,3,10,11,06,337,28,03,14,055,28*7F
+$GPRMC,222516.000,A,2734.67384,S,15305.63376,E,27.7,143.8,030308,11.2,W,A*05
+$GPVTG,143.8,T,155.0,M,27.7,N,51.4,K,A*2E
+$GPGGA,222517.000,2734.68035,S,15305.63901,E,1,06,1.5,68.8,M,39.2,M,,*79
+$GPGLL,2734.68035,S,15305.63901,E,222517.000,A,A*40
+$GPGSA,A,3,16,25,23,20,27,03,,,,,,,2.5,1.5,2.0*36
+$GPGST,222517.000,19.1,6.2,12.1,7.2,5.8,11.0,15.3*66
+$GPGSV,3,1,10,16,48,115,44,25,39,268,34,23,58,175,38,20,71,336,32*75
+$GPGSV,3,2,10,19,02,028,20,04,06,241,23,13,30,223,24,27,19,284,34*7F
+$GPGSV,3,3,10,11,06,337,24,03,14,055,29*72
+$GPRMC,222517.000,A,2734.68035,S,15305.63901,E,28.6,144.1,030308,11.2,W,A*08
+$GPVTG,144.1,T,155.3,M,28.6,N,53.0,K,A*2B
+$GPGGA,222518.000,2734.68718,S,15305.64446,E,1,07,1.4,69.1,M,39.2,M,,*7F
+$GPGLL,2734.68718,S,15305.64446,E,222518.000,A,A*4E
+$GPGSA,A,3,16,25,23,20,27,11,03,,,,,,2.4,1.4,1.9*3C
+$GPGST,222518.000,13.8,5.5,10.6,5.8,5.1,9.6,13.4*54
+$GPGSV,3,1,10,16,48,115,43,25,39,268,33,23,58,175,37,20,71,336,35*7D
+$GPGSV,3,2,10,19,02,028,20,04,06,241,18,13,30,223,24,27,19,284,33*70
+$GPGSV,3,3,10,11,06,337,22,03,14,055,33*7F
+$GPRMC,222518.000,A,2734.68718,S,15305.64446,E,29.9,144.4,030308,11.2,W,A*0D
+$GPVTG,144.4,T,155.6,M,29.9,N,55.3,K,A*20
+$GPGGA,222519.000,2734.69424,S,15305.65010,E,1,07,1.4,69.5,M,39.2,M,,*71
+$GPGLL,2734.69424,S,15305.65010,E,222519.000,A,A*44
+$GPGSA,A,3,16,25,23,20,27,11,03,,,,,,2.4,1.4,1.9*3C
+$GPGST,222519.000,14.0,13.4,5.0,89.4,4.6,12.3,18.8*58
+$GPGSV,3,1,10,16,48,115,44,25,39,268,34,23,58,175,37,20,71,336,37*7F
+$GPGSV,3,2,10,19,02,028,20,04,06,241,18,13,30,223,23,27,19,284,31*75
+$GPGSV,3,3,10,11,06,337,26,03,14,055,35*7D
+$GPRMC,222519.000,A,2734.69424,S,15305.65010,E,31.0,144.4,030308,11.2,W,A*07
+$GPVTG,144.4,T,155.6,M,31.0,N,57.5,K,A*24
+$GPGGA,222520.000,2734.70163,S,15305.65604,E,1,07,1.4,69.6,M,39.2,M,,*75
+$GPGLL,2734.70163,S,15305.65604,E,222520.000,A,A*43
+$GPGSA,A,3,16,25,23,20,27,11,03,,,,,,2.4,1.4,1.9*3C
+$GPGST,222520.000,9.8,11.6,4.7,89.0,4.3,10.6,15.9*6A
+$GPGSV,3,1,10,16,48,115,44,25,39,268,35,23,58,175,39,20,71,336,36*71
+$GPGSV,3,2,10,19,02,028,20,04,06,241,19,13,30,223,23,27,19,284,31*74
+$GPGSV,3,3,10,11,06,337,31,03,14,055,37*79
+$GPRMC,222520.000,A,2734.70163,S,15305.65604,E,32.5,144.1,030308,11.2,W,A*03
+$GPVTG,144.1,T,155.3,M,32.5,N,60.2,K,A*21
+$GPGGA,222521.000,2734.70923,S,15305.66218,E,1,07,1.4,69.5,M,39.2,M,,*71
+$GPGLL,2734.70923,S,15305.66218,E,222521.000,A,A*44
+$GPGSA,A,3,16,25,23,20,27,11,03,,,,,,2.4,1.4,1.9*3C
+$GPGST,222521.000,11.1,6.2,10.8,9.6,5.8,9.8,16.8*53
+$GPGSV,3,1,10,16,48,115,44,25,39,268,36,23,58,175,40,20,71,336,38*72
+$GPGSV,3,2,10,19,02,028,20,04,06,241,19,13,30,223,23,27,19,284,26*72
+$GPGSV,3,3,10,11,06,338,31,03,14,055,37*76
+$GPRMC,222521.000,A,2734.70923,S,15305.66218,E,33.5,144.0,030308,11.2,W,A*04
+$GPVTG,144.0,T,155.3,M,33.5,N,62.0,K,A*21
+$GPGGA,222522.000,2734.71700,S,15305.66845,E,1,06,1.5,69.1,M,39.2,M,,*7A
+$GPGLL,2734.71700,S,15305.66845,E,222522.000,A,A*4B
+$GPGSA,A,3,16,25,23,20,27,03,,,,,,,2.5,1.5,2.0*36
+$GPGST,222522.000,15.0,5.7,9.9,5.5,5.2,9.0,15.4*68
+$GPGSV,3,1,10,16,48,115,43,25,39,268,36,23,58,175,40,20,71,336,37*7A
+$GPGSV,3,2,10,19,02,028,20,04,06,241,24,13,30,223,23,27,19,284,26*7C
+$GPGSV,3,3,10,11,06,338,25,03,14,055,37*73
+$GPRMC,222522.000,A,2734.71700,S,15305.66845,E,34.2,144.1,030308,11.2,W,A*0A
+$GPVTG,144.1,T,155.3,M,34.2,N,63.4,K,A*25
+$GPGGA,222523.000,2734.72487,S,15305.67483,E,1,07,1.4,68.6,M,39.2,M,,*75
+$GPGLL,2734.72487,S,15305.67483,E,222523.000,A,A*42
+$GPGSA,A,3,16,25,23,20,27,11,03,,,,,,2.4,1.4,1.9*3C
+$GPGST,222523.000,13.8,5.2,10.1,3.9,4.8,9.2,13.8*5B
+$GPGSV,3,1,10,16,48,115,44,25,39,268,37,23,58,175,41,20,71,336,35*7F
+$GPGSV,3,2,10,19,02,028,20,04,06,241,24,13,30,223,23,27,19,284,26*7C
+$GPGSV,3,3,10,11,06,338,23,03,14,055,31*73
+$GPRMC,222523.000,A,2734.72487,S,15305.67483,E,34.7,144.2,030308,11.2,W,A*05
+$GPVTG,144.2,T,155.4,M,34.7,N,64.3,K,A*24
+$GPGGA,222524.000,2734.73280,S,15305.68126,E,1,07,1.4,68.1,M,39.2,M,,*70
+$GPGLL,2734.73280,S,15305.68126,E,222524.000,A,A*40
+$GPGSA,A,3,16,25,23,20,27,11,03,,,,,,2.4,1.4,1.9*3C
+$GPGST,222524.000,10.5,4.9,9.4,3.5,4.5,8.6,12.8*60
+$GPGSV,3,1,10,16,48,115,44,25,39,268,37,23,58,175,41,20,71,336,35*7F
+$GPGSV,3,2,10,19,02,028,20,04,06,241,22,13,30,223,23,27,19,284,26*7A
+$GPGSV,3,3,10,11,06,338,25,03,14,055,29*7C
+$GPRMC,222524.000,A,2734.73280,S,15305.68126,E,35.0,144.2,030308,11.2,W,A*01
+$GPVTG,144.2,T,155.4,M,35.0,N,64.9,K,A*28
+$GPGGA,222525.000,2734.74083,S,15305.68778,E,1,07,1.4,67.7,M,39.2,M,,*73
+$GPGLL,2734.74083,S,15305.68778,E,222525.000,A,A*4A
+$GPGSA,A,3,16,25,23,20,27,11,03,,,,,,2.4,1.4,1.9*3C
+$GPGST,222525.000,10.3,5.2,13.4,3.6,4.8,12.3,20.4*6B
+$GPGSV,3,1,10,16,48,115,43,25,39,268,38,23,58,175,40,20,71,336,36*75
+$GPGSV,3,2,10,19,02,028,20,04,06,241,22,13,30,223,23,27,19,284,23*7F
+$GPGSV,3,3,10,11,06,338,27,03,14,055,36*70
+$GPRMC,222525.000,A,2734.74083,S,15305.68778,E,35.6,144.2,030308,11.2,W,A*0D
+$GPVTG,144.2,T,155.4,M,35.6,N,65.9,K,A*2F
+$GPGGA,222526.000,2734.74894,S,15305.69428,E,1,06,1.5,67.2,M,39.2,M,,*7C
+$GPGLL,2734.74894,S,15305.69428,E,222526.000,A,A*40
+$GPGSA,A,3,16,25,23,20,27,03,,,,,,,2.5,1.5,2.0*36
+$GPGST,222526.000,8.0,5.7,12.0,2.6,5.2,10.9,17.4*54
+$GPGSV,3,1,10,16,48,115,43,25,39,268,37,23,58,175,40,20,71,336,35*79
+$GPGSV,3,2,10,19,02,028,20,04,06,241,22,13,30,223,23,27,19,284,24*78
+$GPGSV,3,3,10,11,06,338,27,03,14,055,39*7F
+$GPRMC,222526.000,A,2734.74894,S,15305.69428,E,35.8,144.5,030308,11.2,W,A*0E
+$GPVTG,144.5,T,155.7,M,35.8,N,66.3,K,A*2C
+$GPGGA,222527.000,2734.75707,S,15305.70075,E,1,05,1.7,66.8,M,39.2,M,,*77
+$GPGLL,2734.75707,S,15305.70075,E,222527.000,A,A*41
+$GPGSA,A,3,16,25,23,20,03,,,,,,,,2.9,1.7,2.4*39
+$GPGST,222527.000,13.9,6.3,10.9,6.3,5.9,10.0,18.2*60
+$GPGSV,3,1,10,16,48,115,44,25,39,268,38,23,58,175,40,20,71,336,33*77
+$GPGSV,3,2,10,19,02,028,,04,06,241,25,13,30,223,23,27,19,284,26*7F
+$GPGSV,3,3,10,11,06,338,,03,14,055,36*75
+$GPRMC,222527.000,A,2734.75707,S,15305.70075,E,35.8,144.6,030308,11.2,W,A*0C
+$GPVTG,144.6,T,155.8,M,35.8,N,66.2,K,A*21
+$GPGGA,222528.000,2734.76518,S,15305.70724,E,1,06,1.5,66.1,M,39.2,M,,*7C
+$GPGLL,2734.76518,S,15305.70724,E,222528.000,A,A*42
+$GPGSA,A,3,16,25,23,20,27,03,,,,,,,2.5,1.5,2.0*36
+$GPGST,222528.000,11.3,5.6,10.1,4.5,5.2,9.2,16.1*51
+$GPGSV,3,1,10,16,48,115,43,25,39,268,39,23,58,175,39,20,71,336,28*75
+$GPGSV,3,2,10,19,02,028,,04,06,241,25,13,30,223,23,27,19,284,26*7F
+$GPGSV,3,3,10,11,06,338,,03,14,055,36*75
+$GPRMC,222528.000,A,2734.76518,S,15305.70724,E,35.7,144.4,030308,11.2,W,A*02
+$GPVTG,144.4,T,155.6,M,35.7,N,66.2,K,A*22
+$GPGGA,222529.000,2734.77313,S,15305.71385,E,1,06,1.5,66.1,M,39.2,M,,*7F
+$GPGLL,2734.77313,S,15305.71385,E,222529.000,A,A*41
+$GPGSA,A,3,16,25,23,20,27,03,,,,,,,2.5,1.5,2.0*36
+$GPGST,222529.000,10.9,5.6,12.5,5.4,5.2,11.4,20.9*6F
+$GPGSV,3,1,10,16,48,115,41,25,39,268,40,23,58,175,36,20,71,336,28*76
+$GPGSV,3,2,10,19,02,028,,04,06,241,25,13,30,223,23,27,19,284,24*7D
+$GPGSV,3,3,10,11,06,338,27,03,14,055,30*76
+$GPRMC,222529.000,A,2734.77313,S,15305.71385,E,35.6,143.5,030308,11.2,W,A*06
+$GPVTG,143.5,T,154.7,M,35.6,N,65.8,K,A*2C
+$GPGGA,222530.000,2734.78106,S,15305.72042,E,1,06,1.5,66.0,M,39.2,M,,*74
+$GPGLL,2734.78106,S,15305.72042,E,222530.000,A,A*4B
+$GPGSA,A,3,16,25,23,20,27,03,,,,,,,2.5,1.5,2.0*36
+$GPGST,222530.000,9.4,5.4,18.9,2.4,4.9,17.3,30.6*54
+$GPGSV,3,1,10,16,48,115,40,25,39,268,40,23,58,175,36,20,71,336,28*77
+$GPGSV,3,2,10,19,02,028,,04,06,241,25,13,30,223,23,27,19,284,26*7F
+$GPGSV,3,3,10,11,06,338,27,03,14,055,29*7E
+$GPRMC,222530.000,A,2734.78106,S,15305.72042,E,35.5,143.7,030308,11.2,W,A*0D
+$GPVTG,143.7,T,155.0,M,35.5,N,65.8,K,A*2B
+$GPGGA,222531.000,2734.78918,S,15305.72691,E,1,05,4.4,66.0,M,39.2,M,,*7D
+$GPGLL,2734.78918,S,15305.72691,E,222531.000,A,A*45
+$GPGSA,A,3,16,25,23,27,11,,,,,,,,9.3,4.4,8.2*36
+$GPGST,222531.000,9.1,8.5,53.9,3.2,8.2,49.2,81.3*56
+$GPGSV,3,1,10,16,48,115,40,25,39,268,39,23,58,175,37,20,71,336,28*78
+$GPGSV,3,2,10,19,02,028,,04,06,241,25,13,31,223,23,27,19,284,25*7D
+$GPGSV,3,3,10,11,06,338,24,03,14,055,22*76
+$GPRMC,222531.000,A,2734.78918,S,15305.72691,E,35.9,144.5,030308,11.2,W,A*0A
+$GPVTG,144.5,T,155.7,M,35.9,N,66.4,K,A*2A
+$GPGGA,222532.000,2734.79737,S,15305.73347,E,1,06,1.5,66.0,M,39.2,M,,*74
+$GPGLL,2734.79737,S,15305.73347,E,222532.000,A,A*4B
+$GPGSA,A,3,16,25,23,20,27,03,,,,,,,2.5,1.5,2.0*36
+$GPGST,222532.000,11.0,6.8,38.7,1.2,6.3,35.3,58.4*69
+$GPGSV,3,1,10,16,48,115,40,25,39,268,39,23,58,175,36,20,71,336,28*79
+$GPGSV,3,2,10,19,02,028,,04,06,241,25,13,31,223,24,27,19,284,23*7C
+$GPGSV,3,3,10,11,06,338,24,03,14,055,30*75
+$GPRMC,222532.000,A,2734.79737,S,15305.73347,E,36.1,144.5,030308,11.2,W,A*0F
+$GPVTG,144.5,T,155.7,M,36.1,N,66.9,K,A*2C
+$GPGGA,222533.000,2734.80571,S,15305.74004,E,1,06,4.1,66.1,M,39.2,M,,*70
+$GPGLL,2734.80571,S,15305.74004,E,222533.000,A,A*4F
+$GPGSA,A,3,16,25,23,27,11,03,,,,,,,8.3,4.1,7.3*3F
+$GPGST,222533.000,9.4,6.1,45.5,0.4,5.6,41.6,69.5*50
+$GPGSV,3,1,10,16,48,115,40,25,39,268,39,23,58,175,37,20,71,336,28*78
+$GPGSV,3,2,10,19,02,028,,04,06,241,23,13,31,223,24,27,19,284,25*7C
+$GPGSV,3,3,10,11,06,338,22,03,14,055,25*77
+$GPRMC,222533.000,A,2734.80571,S,15305.74004,E,36.6,145.0,030308,11.2,W,A*08
+$GPVTG,145.0,T,156.2,M,36.6,N,67.7,K,A*26
+$GPGGA,222534.000,2734.81441,S,15305.74656,E,1,06,1.8,65.2,M,39.2,M,,*79
+$GPGLL,2734.81441,S,15305.74656,E,222534.000,A,A*4A
+$GPGSA,A,3,16,25,23,13,27,03,,,,,,,3.5,1.8,3.1*3A
+$GPGST,222534.000,20.2,5.8,45.7,1.7,5.4,41.7,71.3*6C
+$GPGSV,3,1,10,16,48,115,40,25,39,268,38,23,58,175,37,20,71,336,28*79
+$GPGSV,3,2,10,19,02,028,,04,06,241,23,13,31,223,25,27,19,284,25*7D
+$GPGSV,3,3,10,11,06,338,22,03,14,055,31*72
+$GPRMC,222534.000,A,2734.81441,S,15305.74656,E,37.6,146.2,030308,11.2,W,A*0D
+$GPVTG,146.2,T,157.5,M,37.6,N,69.7,K,A*2E
+$GPGGA,222535.000,2734.82349,S,15305.75307,E,1,05,1.9,63.5,M,39.2,M,,*77
+$GPGLL,2734.82349,S,15305.75307,E,222535.000,A,A*47
+$GPGSA,A,3,16,25,23,13,03,,,,,,,,3.6,1.9,3.1*3D
+$GPGST,222535.000,27.6,7.0,40.6,3.1,6.7,37.1,68.4*6C
+$GPGSV,3,1,10,16,48,115,40,25,39,268,36,23,58,175,37,20,71,336,28*77
+$GPGSV,3,2,10,19,02,028,,04,06,241,20,13,31,223,25,27,19,284,23*78
+$GPGSV,3,3,10,11,06,338,22,03,14,055,26*74
+$GPRMC,222535.000,A,2734.82349,S,15305.75307,E,38.7,147.3,030308,11.2,W,A*0E
+$GPVTG,147.3,T,158.6,M,38.7,N,71.7,K,A*25
+$GPGGA,222536.000,2734.83215,S,15305.75969,E,1,05,1.7,63.5,M,39.2,M,,*71
+$GPGLL,2734.83215,S,15305.75969,E,222536.000,A,A*4F
+$GPGSA,A,3,16,25,23,20,03,,,,,,,,2.9,1.7,2.4*39
+$GPGST,222536.000,7.9,6.3,97.2,3.9,8.3,88.7,161.0*62
+$GPGSV,3,1,10,16,48,115,40,25,39,268,37,23,58,175,36,20,71,336,28*77
+$GPGSV,3,2,10,19,02,028,,04,06,241,20,13,31,223,25,27,19,284,23*78
+$GPGSV,3,3,10,11,06,338,22,03,14,055,26*74
+$GPRMC,222536.000,A,2734.83215,S,15305.75969,E,37.6,145.6,030308,11.2,W,A*0F
+$GPVTG,145.6,T,156.8,M,37.6,N,69.7,K,A*25
+$GPGGA,222537.000,2734.84076,S,15305.76655,E,1,05,1.7,63.5,M,39.2,M,,*73
+$GPGLL,2734.84076,S,15305.76655,E,222537.000,A,A*4D
+$GPGSA,A,3,16,25,23,20,03,,,,,,,,2.9,1.7,2.4*39
+$GPGST,222537.000,16.0,7.8,110.8,2.1,8.0,101.2,209.1*57
+$GPGSV,3,1,10,16,48,115,39,25,39,268,36,23,58,175,34,20,71,336,28*7A
+$GPGSV,3,2,10,19,02,028,,04,06,241,22,13,31,223,25,27,19,284,23*7A
+$GPGSV,3,3,10,11,06,338,22,03,14,055,25*77
+$GPRMC,222537.000,A,2734.84076,S,15305.76655,E,37.9,144.6,030308,11.2,W,A*03
+$GPVTG,144.6,T,155.8,M,37.9,N,70.3,K,A*24
+$GPGGA,222538.000,2734.84945,S,15305.77356,E,1,05,1.9,63.5,M,39.2,M,,*7C
+$GPGLL,2734.84945,S,15305.77356,E,222538.000,A,A*4C
+$GPGSA,A,3,16,25,23,13,03,,,,,,,,3.6,1.9,3.1*3D
+$GPGST,222538.000,13.1,8.0,61.7,1.6,7.5,56.4,113.0*51
+$GPGSV,3,1,10,16,48,115,40,25,39,268,37,23,58,175,32,20,71,336,*79
+$GPGSV,3,2,10,19,02,028,,04,06,241,22,13,31,223,25,27,19,284,23*7A
+$GPGSV,3,3,10,11,06,338,22,03,14,055,28*7A
+$GPRMC,222538.000,A,2734.84945,S,15305.77356,E,38.4,144.2,030308,11.2,W,A*04
+$GPVTG,144.2,T,155.4,M,38.4,N,71.1,K,A*2D
+$GPGGA,222539.000,2734.85792,S,15305.78022,E,1,05,1.9,63.5,M,39.2,M,,*77
+$GPGLL,2734.85792,S,15305.78022,E,222539.000,A,A*47
+$GPGSA,A,3,16,25,23,13,03,,,,,,,,3.6,1.9,3.1*3D
+$GPGST,222539.000,6.4,7.5,72.7,1.5,7.1,66.5,137.2*68
+$GPGSV,3,1,10,16,48,115,40,25,39,268,38,23,58,175,32,20,71,336,*76
+$GPGSV,3,2,10,19,02,028,,04,06,241,22,13,31,223,25,27,19,284,23*7A
+$GPGSV,3,3,10,11,06,338,22,03,14,055,28*7A
+$GPRMC,222539.000,A,2734.85792,S,15305.78022,E,37.1,144.9,030308,11.2,W,A*0E
+$GPVTG,144.9,T,156.1,M,37.1,N,68.7,K,A*24
+$GPGGA,222540.000,2734.86604,S,15305.78646,E,1,05,4.4,63.5,M,39.2,M,,*78
+$GPGLL,2734.86604,S,15305.78646,E,222540.000,A,A*40
+$GPGSA,A,3,16,25,23,27,11,,,,,,,,9.3,4.4,8.2*36
+$GPGST,222540.000,13.6,8.3,67.7,1.8,7.8,61.9,111.1*55
+$GPGSV,3,1,10,16,48,115,40,25,39,268,38,23,58,175,32,20,71,336,*76
+$GPGSV,3,2,10,19,02,028,,04,06,241,26,13,31,223,22,27,19,284,22*78
+$GPGSV,3,3,10,11,06,338,20,03,14,055,28*78
+$GPRMC,222540.000,A,2734.86604,S,15305.78646,E,35.3,145.6,030308,11.2,W,A*07
+$GPVTG,145.6,T,156.8,M,35.3,N,65.4,K,A*2D
+$GPGGA,222541.000,2734.87421,S,15305.79222,E,1,06,1.8,63.5,M,39.2,M,,*70
+$GPGLL,2734.87421,S,15305.79222,E,222541.000,A,A*42
+$GPGSA,A,3,16,25,23,13,27,03,,,,,,,3.5,1.8,3.1*3A
+$GPGST,222541.000,11.7,33.3,8.1,87.4,7.5,30.4,54.6*51
+$GPGSV,3,1,10,16,48,115,39,25,39,268,33,23,58,175,36,20,71,336,*77
+$GPGSV,3,2,10,19,02,028,,04,06,241,26,13,31,223,22,27,19,284,22*78
+$GPGSV,3,3,10,11,06,338,20,03,14,055,26*76
+$GPRMC,222541.000,A,2734.87421,S,15305.79222,E,34.6,147.7,030308,11.2,W,A*02
+$GPVTG,147.7,T,158.9,M,34.6,N,64.1,K,A*21
+$GPGGA,222542.000,2734.88135,S,15305.79765,E,1,06,1.8,63.5,M,39.2,M,,*7A
+$GPGLL,2734.88135,S,15305.79765,E,222542.000,A,A*48
+$GPGSA,A,3,16,25,23,13,27,03,,,,,,,3.5,1.8,3.1*3A
+$GPGST,222542.000,23.5,7.9,53.0,0.2,7.2,48.5,78.4*6F
+$GPGSV,3,1,10,16,48,115,40,25,39,268,36,23,58,175,35,20,71,336,*7F
+$GPGSV,3,2,10,19,02,028,,04,06,241,27,13,31,223,23,27,19,284,25*7F
+$GPGSV,3,3,10,11,06,338,20,03,14,055,26*76
+$GPRMC,222542.000,A,2734.88135,S,15305.79765,E,31.0,145.8,030308,11.2,W,A*06
+$GPVTG,145.8,T,157.0,M,31.0,N,57.4,K,A*2C
+$GPGGA,222543.000,2734.88798,S,15305.80287,E,1,07,1.2,63.0,M,39.2,M,,*7B
+$GPGLL,2734.88798,S,15305.80287,E,222543.000,A,A*47
+$GPGSA,A,3,16,25,23,20,13,27,03,,,,,,2.1,1.2,1.7*33
+$GPGST,222543.000,18.8,6.7,28.4,0.5,6.1,26.0,41.8*62
+$GPGSV,3,1,10,16,48,115,40,25,39,268,39,23,58,175,35,20,71,336,21*73
+$GPGSV,3,2,10,19,02,028,,04,06,241,37,13,31,223,22,27,19,284,24*7E
+$GPGSV,3,3,10,11,06,338,20,03,14,055,32*73
+$GPRMC,222543.000,A,2734.88798,S,15305.80287,E,29.0,144.8,030308,11.2,W,A*01
+$GPVTG,144.8,T,156.0,M,29.0,N,53.8,K,A*2D
+$GPGGA,222544.000,2734.89328,S,15305.80767,E,1,06,1.8,62.9,M,39.2,M,,*7A
+$GPGLL,2734.89328,S,15305.80767,E,222544.000,A,A*45
+$GPGSA,A,3,16,25,23,13,27,03,,,,,,,3.5,1.8,3.1*3A
+$GPGST,222544.000,14.9,35.2,5.8,89.5,5.4,32.2,52.6*52
+$GPGSV,3,1,10,16,48,115,43,25,39,268,40,23,58,175,25,20,71,336,21*7F
+$GPGSV,3,2,10,19,02,028,,04,06,241,28,13,31,223,30,27,19,284,29*7E
+$GPGSV,3,3,10,11,06,338,20,03,14,055,33*72
+$GPRMC,222544.000,A,2734.89328,S,15305.80767,E,24.5,140.9,030308,11.2,W,A*0E
+$GPVTG,140.9,T,152.1,M,24.5,N,45.3,K,A*29
+$GPGGA,222545.000,2734.89633,S,15305.81084,E,1,05,1.9,62.9,M,39.2,M,,*7D
+$GPGLL,2734.89633,S,15305.81084,E,222545.000,A,A*40
+$GPGSA,A,3,16,25,23,13,03,,,,,,,,3.6,1.9,3.1*3D
+$GPGST,222545.000,19.5,6.0,33.0,1.0,5.5,30.2,52.4*69
+$GPGSV,3,1,10,16,48,115,41,25,39,268,34,23,58,175,29,20,71,336,30*72
+$GPGSV,3,2,10,19,02,028,,04,06,241,25,13,31,223,29,27,19,284,30*73
+$GPGSV,3,3,10,11,06,338,20,03,14,055,30*71
+$GPRMC,222545.000,A,2734.89633,S,15305.81084,E,14.6,136.6,030308,11.2,W,A*05
+$GPVTG,136.6,T,147.8,M,14.6,N,27.0,K,A*2D
+$GPGGA,222546.000,2734.89236,S,15305.81130,E,1,06,1.3,62.6,M,39.2,M,,*77
+$GPGLL,2734.89236,S,15305.81130,E,222546.000,A,A*4C
+$GPGSA,A,3,16,25,23,20,13,03,,,,,,,2.3,1.3,1.9*3B
+$GPGST,222546.000,11.5,5.6,15.6,0.9,5.2,14.3,26.4*6E
+$GPGSV,3,1,10,16,48,115,35,25,39,268,40,23,58,175,41,20,71,336,38*74
+$GPGSV,3,2,10,19,02,028,,04,06,241,26,13,31,223,33,27,19,284,26*7C
+$GPGSV,3,3,10,11,06,338,20,03,14,055,28*78
+$GPRMC,222546.000,A,2734.89236,S,15305.81130,E,16.9,2.1,030308,11.2,W,A*05
+$GPVTG,2.1,T,13.3,M,16.9,N,31.2,K,A*1F
+$GPGGA,222547.000,2734.89429,S,15305.81239,E,1,05,2.3,62.5,M,39.2,M,,*77
+$GPGLL,2734.89429,S,15305.81239,E,222547.000,A,A*4F
+$GPGSA,A,3,16,23,13,27,03,,,,,,,,4.6,2.3,3.9*39
+$GPGST,222547.000,11.4,38.3,9.7,69.8,14.7,33.0,49.2*6B
+$GPGSV,3,1,10,16,48,115,32,25,39,268,37,23,58,175,42,20,71,336,37*7F
+$GPGSV,3,2,10,19,02,028,,04,06,241,26,13,31,223,36,27,19,284,29*76
+$GPGSV,3,3,10,11,06,338,20,03,14,055,34*75
+$GPRMC,222547.000,A,2734.89429,S,15305.81239,E,8.4,154.5,030308,11.2,W,A*32
+$GPVTG,154.5,T,165.7,M,8.4,N,15.6,K,A*1D
+$GPGGA,222548.000,2734.89474,S,15305.81253,E,1,07,1.2,62.0,M,39.2,M,,*79
+$GPGLL,2734.89474,S,15305.81253,E,222548.000,A,A*44
+$GPGSA,A,3,16,25,23,20,13,27,03,,,,,,2.1,1.2,1.7*33
+$GPGST,222548.000,11.0,12.3,7.9,86.0,7.3,11.3,20.6*5F
+$GPGSV,3,1,10,16,48,115,34,25,39,268,36,23,58,175,42,20,71,336,38*77
+$GPGSV,3,2,10,19,02,028,,04,06,241,25,13,31,223,36,27,19,284,29*75
+$GPGSV,3,3,10,11,06,338,20,03,14,055,33*72
+$GPRMC,222548.000,A,2734.89474,S,15305.81253,E,0.3,353.0,030308,11.2,W,A*36
+$GPVTG,353.0,T,4.3,M,0.3,N,0.5,K,A*27
+$GPGGA,222549.000,2734.89490,S,15305.81265,E,1,04,2.0,61.8,M,39.2,M,,*7E
+$GPGLL,2734.89490,S,15305.81265,E,222549.000,A,A*4A
+$GPGSA,A,3,25,23,13,03,,,,,,,,,3.9,2.0,3.3*3D
+$GPGST,222549.000,17.0,16.1,8.8,81.3,8.3,14.6,29.3*57
+$GPGSV,3,1,11,16,48,115,33,25,39,268,37,23,58,175,42,20,71,336,36*7E
+$GPGSV,3,2,11,19,02,028,,04,06,241,25,13,31,223,35,27,19,284,30*7F
+$GPGSV,3,3,11,11,06,338,20,01,,,21,03,14,055,33*71
+$GPRMC,222549.000,A,2734.89490,S,15305.81265,E,0.2,330.7,030308,11.2,W,A*3B
+$GPVTG,330.7,T,341.9,M,0.2,N,0.3,K,A*2A
+$GPGGA,222550.000,2734.89526,S,15305.81278,E,1,04,2.6,61.7,M,39.2,M,,*7F
+$GPGLL,2734.89526,S,15305.81278,E,222550.000,A,A*42
+$GPGSA,A,3,16,25,23,13,,,,,,,,,6.1,2.6,5.6*31
+$GPGST,222550.000,13.4,12.4,27.3,43.1,18.9,19.8,52.9*5A
+$GPGSV,3,1,11,16,48,115,30,25,39,268,38,23,58,175,42,20,71,336,37*73
+$GPGSV,3,2,11,19,02,028,,04,06,241,25,13,31,223,36,27,19,284,31*7D
+$GPGSV,3,3,11,11,06,338,,01,,,21,03,14,055,32*72
+$GPRMC,222550.000,A,2734.89526,S,15305.81278,E,0.1,350.7,030308,11.2,W,A*36
+$GPVTG,350.7,T,1.9,M,0.1,N,0.2,K,A*29
+$GPGGA,222551.000,2734.89528,S,15305.81279,E,1,05,2.3,61.7,M,39.2,M,,*75
+$GPGLL,2734.89528,S,15305.81279,E,222551.000,A,A*4C
+$GPGSA,A,3,16,23,13,27,03,,,,,,,,4.6,2.3,3.9*39
+$GPGST,222551.000,13.7,31.0,11.1,60.5,16.5,25.2,39.3*5F
+$GPGSV,3,1,11,16,48,115,30,25,39,268,39,23,58,175,41,20,71,336,35*73
+$GPGSV,3,2,11,19,02,028,,04,06,241,23,13,31,223,36,27,19,284,31*7B
+$GPGSV,3,3,11,11,06,338,,01,,,20,03,14,055,30*71
+$GPRMC,222551.000,A,2734.89528,S,15305.81279,E,0.1,345.0,030308,11.2,W,A*3B
+$GPVTG,345.0,T,356.2,M,0.1,N,0.2,K,A*20
+$GPGGA,222552.000,2734.89550,S,15305.81288,E,1,05,2.1,61.7,M,39.2,M,,*75
+$GPGLL,2734.89550,S,15305.81288,E,222552.000,A,A*4E
+$GPGSA,A,3,16,25,23,13,27,,,,,,,,4.7,2.1,4.2*32
+$GPGST,222552.000,11.7,11.5,20.8,20.0,11.8,18.2,39.1*55
+$GPGSV,3,1,11,16,48,115,31,25,39,268,40,23,58,175,42,20,71,336,35*7F
+$GPGSV,3,2,11,19,02,028,,04,06,241,23,13,31,223,38,27,19,284,31*75
+$GPGSV,3,3,11,11,06,338,,01,,,20,03,14,055,30*71
+$GPRMC,222552.000,A,2734.89550,S,15305.81288,E,0.1,11.2,030308,11.2,W,A*09
+$GPVTG,11.2,T,22.5,M,0.1,N,0.2,K,A*27
+$GPGGA,222553.000,2734.89573,S,15305.81294,E,1,05,2.1,61.5,M,39.2,M,,*7A
+$GPGLL,2734.89573,S,15305.81294,E,222553.000,A,A*43
+$GPGSA,A,3,16,25,23,13,27,,,,,,,,4.7,2.1,4.2*32
+$GPGST,222553.000,9.8,10.3,17.6,19.1,10.4,15.6,33.7*6C
+$GPGSV,3,1,10,16,48,115,29,25,39,268,38,23,58,175,41,20,71,336,37*79
+$GPGSV,3,2,10,19,02,028,,04,06,241,23,13,31,223,39,27,19,284,30*74
+$GPGSV,3,3,10,11,06,338,,03,14,055,29*7B
+$GPRMC,222553.000,A,2734.89573,S,15305.81294,E,0.1,351.8,030308,11.2,W,A*39
+$GPVTG,351.8,T,3.0,M,0.1,N,0.2,K,A*2C
+$GPGGA,222554.000,2734.89591,S,15305.81298,E,1,04,2.6,61.4,M,39.2,M,,*7A
+$GPGLL,2734.89591,S,15305.81298,E,222554.000,A,A*44
+$GPGSA,A,3,16,25,23,13,,,,,,,,,6.1,2.6,5.6*31
+$GPGST,222554.000,16.9,10.4,17.8,12.8,10.0,16.1,37.3*5F
+$GPGSV,3,1,10,16,48,115,32,25,39,268,38,23,58,175,41,20,71,336,36*72
+$GPGSV,3,2,10,19,02,028,,04,06,241,23,13,31,223,38,27,19,284,31*74
+$GPGSV,3,3,10,11,06,338,,03,14,055,26*74
+$GPRMC,222554.000,A,2734.89591,S,15305.81298,E,0.1,334.9,030308,11.2,W,A*3C
+$GPVTG,334.9,T,346.1,M,0.1,N,0.2,K,A*2D
+$GPGGA,222555.000,2734.89607,S,15305.81301,E,1,04,2.6,61.2,M,39.2,M,,*70
+$GPGLL,2734.89607,S,15305.81301,E,222555.000,A,A*48
+$GPGSA,A,3,16,25,23,13,,,,,,,,,6.1,2.6,5.6*31
+$GPGST,222555.000,14.4,11.9,23.3,40.8,16.2,17.6,44.5*56
+$GPGSV,3,1,11,16,48,115,32,25,39,268,37,23,58,175,40,20,71,336,38*73
+$GPGSV,3,2,11,19,02,028,,04,06,241,23,13,31,223,37,27,19,284,30*7B
+$GPGSV,3,3,11,11,06,338,,01,,,20,03,14,055,25*75
+$GPRMC,222555.000,A,2734.89607,S,15305.81301,E,0.1,6.2,030308,11.2,W,A*39
+$GPVTG,6.2,T,17.4,M,0.1,N,0.2,K,A*16
+$GPGGA,222556.000,2734.89612,S,15305.81301,E,1,04,2.6,61.1,M,39.2,M,,*74
+$GPGLL,2734.89612,S,15305.81301,E,222556.000,A,A*4F
+$GPGSA,A,3,16,25,23,13,,,,,,,,,6.1,2.6,5.6*31
+$GPGST,222556.000,12.4,15.8,24.1,4.1,14.5,22.0,39.9*69
+$GPGSV,3,1,11,16,48,115,33,25,39,268,38,23,58,174,41,20,71,336,38*7D
+$GPGSV,3,2,11,19,02,028,,04,06,242,23,13,31,223,38,27,19,284,32*75
+$GPGSV,3,3,11,11,06,338,,01,,,20,03,14,055,28*78
+$GPRMC,222556.000,A,2734.89612,S,15305.81301,E,0.1,21.8,030308,11.2,W,A*01
+$GPVTG,21.8,T,33.0,M,0.1,N,0.2,K,A*2B
+$GPGGA,222557.000,2734.89635,S,15305.81337,E,1,05,2.1,61.0,M,39.2,M,,*72
+$GPGLL,2734.89635,S,15305.81337,E,222557.000,A,A*4E
+$GPGSA,A,3,16,25,23,13,27,,,,,,,,4.7,2.1,4.2*32
+$GPGST,222557.000,10.3,13.0,15.0,5.2,11.9,13.7,32.7*6B
+$GPGSV,3,1,10,16,48,115,33,25,39,268,38,23,58,174,41,20,71,336,36*72
+$GPGSV,3,2,10,19,02,028,,04,06,242,23,13,31,223,39,27,19,284,28*7E
+$GPGSV,3,3,10,11,06,338,,03,14,055,31*72
+$GPRMC,222557.000,A,2734.89635,S,15305.81337,E,1.2,96.1,030308,11.2,W,A*07
+$GPVTG,96.1,T,107.3,M,1.2,N,2.2,K,A*1B
+$GPGGA,222558.000,2734.89638,S,15305.81517,E,1,06,1.8,60.6,M,39.2,M,,*7A
+$GPGLL,2734.89638,S,15305.81517,E,222558.000,A,A*48
+$GPGSA,A,3,16,25,23,13,27,03,,,,,,,3.5,1.8,3.1*3A
+$GPGST,222558.000,18.6,12.9,7.5,72.4,7.5,11.4,21.9*57
+$GPGSV,3,1,10,16,48,115,39,25,39,268,38,23,58,174,37,20,71,336,26*78
+$GPGSV,3,2,10,19,02,028,,04,06,242,23,13,31,223,34,27,19,284,29*72
+$GPGSV,3,3,10,11,06,338,,03,14,055,30*73
+$GPRMC,222558.000,A,2734.89638,S,15305.81517,E,5.6,82.0,030308,11.2,W,A*05
+$GPVTG,82.0,T,93.2,M,5.6,N,10.3,K,A*10
+$GPGGA,222559.000,2734.89631,S,15305.81911,E,1,05,2.2,60.5,M,39.2,M,,*71
+$GPGLL,2734.89631,S,15305.81911,E,222559.000,A,A*4A
+$GPGSA,A,3,16,25,23,20,27,,,,,,,,3.6,2.2,2.9*3A
+$GPGST,222559.000,17.0,15.1,33.1,15.1,15.5,29.4,59.0*59
+$GPGSV,3,1,10,16,48,115,34,25,39,268,35,23,58,174,30,20,71,336,29*70
+$GPGSV,3,2,10,19,02,028,,04,06,242,23,13,31,223,35,27,19,284,28*72
+$GPGSV,3,3,10,11,06,338,,03,14,055,27*75
+$GPRMC,222559.000,A,2734.89631,S,15305.81911,E,12.5,87.6,030308,11.2,W,A*31
+$GPVTG,87.6,T,98.8,M,12.5,N,23.2,K,A*26
+$GPGGA,222600.000,2734.89436,S,15305.82359,E,1,06,1.8,61.2,M,39.2,M,,*72
+$GPGLL,2734.89436,S,15305.82359,E,222600.000,A,A*45
+$GPGSA,A,3,16,25,23,13,27,03,,,,,,,3.5,1.8,3.1*3A
+$GPGST,222600.000,14.4,14.9,6.9,79.1,6.7,13.4,28.4*57
+$GPGSV,3,1,10,16,48,115,37,25,39,268,36,23,58,174,29,20,71,336,33*73
+$GPGSV,3,2,10,19,02,028,,04,06,242,23,13,31,223,39,27,19,284,28*7E
+$GPGSV,3,3,10,11,06,338,,03,14,055,28*7A
+$GPRMC,222600.000,A,2734.89436,S,15305.82359,E,15.9,62.5,030308,11.2,W,A*3D
+$GPVTG,62.5,T,73.7,M,15.9,N,29.5,K,A*22
+$GPGGA,222601.000,2734.89190,S,15305.82850,E,1,06,1.8,60.5,M,39.2,M,,*7E
+$GPGLL,2734.89190,S,15305.82850,E,222601.000,A,A*4F
+$GPGSA,A,3,16,25,23,13,27,03,,,,,,,3.6,1.8,3.1*39
+$GPGST,222601.000,11.5,13.4,6.1,78.5,6.0,12.0,24.9*56
+$GPGSV,3,1,10,16,48,115,40,25,39,268,27,23,58,174,35,20,71,336,28*74
+$GPGSV,3,2,10,19,02,028,,04,06,242,,13,31,223,39,27,19,284,27*70
+$GPGSV,3,3,10,11,06,338,,03,14,055,23*71
+$GPRMC,222601.000,A,2734.89190,S,15305.82850,E,18.0,58.9,030308,11.2,W,A*36
+$GPVTG,58.9,T,70.1,M,18.0,N,33.4,K,A*2C
+$GPGGA,222602.000,2734.88904,S,15305.83361,E,1,05,1.6,60.0,M,39.2,M,,*79
+$GPGLL,2734.88904,S,15305.83361,E,222602.000,A,A*40
+$GPGSA,A,3,16,23,20,13,03,,,,,,,,2.5,1.6,1.9*3F
+$GPGST,222602.000,11.3,17.1,6.5,54.9,10.2,13.2,18.6*62
+$GPGSV,3,1,10,16,48,115,27,25,39,268,29,23,58,174,33,20,71,336,33*77
+$GPGSV,3,2,10,19,02,028,,04,06,242,,13,31,223,35,27,19,284,32*78
+$GPGSV,3,3,10,11,06,338,,03,14,055,24*76
+$GPRMC,222602.000,A,2734.88904,S,15305.83361,E,19.8,55.1,030308,11.2,W,A*35
+$GPVTG,55.1,T,66.3,M,19.8,N,36.7,K,A*23
+$GPGGA,222603.000,2734.88556,S,15305.83944,E,1,04,3.8,58.8,M,39.2,M,,*70
+$GPGLL,2734.88556,S,15305.83944,E,222603.000,A,A*47
+$GPGSA,A,3,25,23,20,27,,,,,,,,,6.5,3.8,5.2*3C
+$GPGST,222603.000,12.6,48.6,15.6,66.9,41.3,21.9,62.5*59
+$GPGSV,3,1,10,16,48,115,23,25,39,268,29,23,58,174,31,20,71,337,37*74
+$GPGSV,3,2,10,19,02,028,,04,06,242,,13,31,223,34,27,19,284,26*7C
+$GPGSV,3,3,10,11,06,338,,03,14,055,28*7A
+$GPRMC,222603.000,A,2734.88556,S,15305.83944,E,22.7,54.4,030308,11.2,W,A*31
+$GPVTG,54.4,T,65.6,M,22.7,N,42.1,K,A*23
+$GPGGA,222604.000,2734.88238,S,15305.84546,E,1,04,4.4,57.8,M,39.2,M,,*75
+$GPGLL,2734.88238,S,15305.84546,E,222604.000,A,A*46
+$GPGSA,A,3,25,20,13,27,,,,,,,,,7.2,4.4,5.7*37
+$GPGST,222604.000,10.4,46.8,10.9,81.3,42.4,11.8,57.5*57
+$GPGSV,3,1,10,16,48,115,27,25,39,268,32,23,58,174,32,20,71,337,37*79
+$GPGSV,3,2,10,19,02,028,,04,06,242,,13,31,223,34,27,19,284,34*7F
+$GPGSV,3,3,10,11,06,338,,03,14,055,29*7B
+$GPRMC,222604.000,A,2734.88238,S,15305.84546,E,23.3,54.5,030308,11.2,W,A*34
+$GPVTG,54.5,T,65.7,M,23.3,N,43.2,K,A*24
+$GPGGA,222605.000,2734.87917,S,15305.85182,E,1,04,4.4,56.6,M,39.2,M,,*7F
+$GPGLL,2734.87917,S,15305.85182,E,222605.000,A,A*43
+$GPGSA,A,3,25,20,13,27,,,,,,,,,7.2,4.4,5.7*37
+$GPGST,222605.000,14.3,40.3,10.1,81.5,36.5,10.7,49.8*58
+$GPGSV,3,1,10,16,48,115,24,25,39,268,32,23,58,174,33,20,71,337,37*7B
+$GPGSV,3,2,10,19,02,028,,04,06,242,20,13,31,223,35,27,19,284,32*7A
+$GPGSV,3,3,10,11,06,338,,03,14,055,26*74
+$GPRMC,222605.000,A,2734.87917,S,15305.85182,E,24.5,55.0,030308,11.2,W,A*34
+$GPVTG,55.0,T,66.2,M,24.5,N,45.3,K,A*20
+$GPGGA,222606.000,2734.87588,S,15305.85846,E,1,05,3.6,55.8,M,39.2,M,,*7E
+$GPGLL,2734.87588,S,15305.85846,E,222606.000,A,A*4B
+$GPGSA,A,3,25,23,20,13,27,,,,,,,,6.3,3.6,5.2*36
+$GPGST,222606.000,11.7,30.4,8.7,77.7,27.2,9.8,40.6*59
+$GPGSV,3,1,10,16,48,115,24,25,39,268,31,23,58,174,32,20,71,337,34*7A
+$GPGSV,3,2,10,19,02,029,,04,06,242,20,13,31,223,35,27,19,284,34*7D
+$GPGSV,3,3,10,11,06,338,,03,14,055,24*76
+$GPRMC,222606.000,A,2734.87588,S,15305.85846,E,25.3,55.9,030308,11.2,W,A*32
+$GPVTG,55.9,T,67.1,M,25.3,N,46.9,K,A*25
+$GPGGA,222607.000,2734.87218,S,15305.86543,E,1,06,1.8,55.5,M,39.2,M,,*78
+$GPGLL,2734.87218,S,15305.86543,E,222607.000,A,A*4F
+$GPGSA,A,3,16,25,23,13,27,03,,,,,,,3.6,1.8,3.1*39
+$GPGST,222607.000,11.2,13.8,8.5,86.1,7.8,12.6,27.3*52
+$GPGSV,3,1,10,16,48,115,29,25,39,268,26,23,58,174,34,20,71,337,32*71
+$GPGSV,3,2,10,19,02,029,,04,06,242,27,13,31,223,36,27,19,284,30*7D
+$GPGSV,3,3,10,11,06,338,,03,14,055,24*76
+$GPRMC,222607.000,A,2734.87218,S,15305.86543,E,26.0,57.6,030308,11.2,W,A*3B
+$GPVTG,57.6,T,68.8,M,26.0,N,48.1,K,A*28
+$GPGGA,222608.000,2734.86867,S,15305.87251,E,1,06,1.8,55.1,M,39.2,M,,*75
+$GPGLL,2734.86867,S,15305.87251,E,222608.000,A,A*46
+$GPGSA,A,3,16,25,23,13,27,03,,,,,,,3.6,1.8,3.1*39
+$GPGST,222608.000,15.1,15.8,7.1,68.8,8.0,13.6,36.7*5C
+$GPGSV,3,1,10,16,48,115,39,25,39,268,28,23,58,174,35,20,71,337,30*7D
+$GPGSV,3,2,10,19,02,029,,04,06,242,27,13,31,223,40,27,19,284,28*75
+$GPGSV,3,3,10,11,06,338,,03,14,055,28*7A
+$GPRMC,222608.000,A,2734.86867,S,15305.87251,E,25.9,60.7,030308,11.2,W,A*3D
+$GPVTG,60.7,T,71.9,M,25.9,N,47.9,K,A*29
+$GPGGA,222609.000,2734.86555,S,15305.87973,E,1,06,1.8,54.7,M,39.2,M,,*74
+$GPGLL,2734.86555,S,15305.87973,E,222609.000,A,A*40
+$GPGSA,A,3,16,25,23,13,27,03,,,,,,,3.6,1.8,3.1*39
+$GPGST,222609.000,10.9,10.9,5.1,85.4,4.7,10.0,22.0*55
+$GPGSV,3,1,10,16,48,116,34,25,39,268,39,23,58,174,29,20,71,337,33*7D
+$GPGSV,3,2,10,19,02,029,,04,06,242,24,13,31,223,42,27,19,284,23*7F
+$GPGSV,3,3,10,11,06,338,,03,14,055,26*74
+$GPRMC,222609.000,A,2734.86555,S,15305.87973,E,25.7,64.3,030308,11.2,W,A*35
+$GPVTG,64.3,T,75.6,M,25.7,N,47.5,K,A*20
+$GPGGA,222610.000,2734.86253,S,15305.88695,E,1,05,1.9,54.1,M,39.2,M,,*71
+$GPGLL,2734.86253,S,15305.88695,E,222610.000,A,A*41
+$GPGSA,A,3,16,25,23,13,03,,,,,,,,3.7,1.9,3.1*3C
+$GPGST,222610.000,11.1,14.6,7.4,64.7,8.3,12.4,28.7*57
+$GPGSV,3,1,10,16,48,116,29,25,39,268,42,23,58,174,28,20,71,337,32*7D
+$GPGSV,3,2,10,19,02,029,,04,06,242,24,13,31,223,42,27,19,284,23*7F
+$GPGSV,3,3,10,11,06,338,,03,14,055,24*76
+$GPRMC,222610.000,A,2734.86253,S,15305.88695,E,25.3,65.0,030308,11.2,W,A*32
+$GPVTG,65.0,T,76.3,M,25.3,N,46.8,K,A*2C
+$GPGGA,222611.000,2734.85924,S,15305.89387,E,1,05,2.2,53.4,M,39.2,M,,*75
+$GPGLL,2734.85924,S,15305.89387,E,222611.000,A,A*4F
+$GPGSA,A,3,16,25,23,20,13,,,,,,,,5.3,2.2,4.8*39
+$GPGST,222611.000,17.7,8.4,21.7,17.4,9.4,19.0,57.8*57
+$GPGSV,3,1,10,16,48,116,39,25,39,268,32,23,58,174,35,20,71,337,26*72
+$GPGSV,3,2,10,19,02,029,,04,06,242,31,13,31,223,39,27,19,284,24*70
+$GPGSV,3,3,10,11,06,338,,03,14,055,26*74
+$GPRMC,222611.000,A,2734.85924,S,15305.89387,E,24.9,61.4,030308,11.2,W,A*37
+$GPVTG,61.4,T,72.6,M,24.9,N,46.1,K,A*2F
+$GPGGA,222612.000,2734.85516,S,15305.90007,E,1,07,1.2,53.3,M,39.2,M,,*7E
+$GPGLL,2734.85516,S,15305.90007,E,222612.000,A,A*42
+$GPGSA,A,3,16,25,23,20,13,27,03,,,,,,2.1,1.2,1.7*33
+$GPGST,222612.000,15.5,16.3,8.2,77.8,8.0,14.7,27.8*50
+$GPGSV,3,1,10,16,48,116,29,25,39,268,29,23,58,174,30,20,71,337,34*7F
+$GPGSV,3,2,10,19,02,029,,04,06,242,27,13,31,223,35,27,19,284,28*77
+$GPGSV,3,3,10,11,06,338,,03,14,055,25*77
+$GPRMC,222612.000,A,2734.85516,S,15305.90007,E,24.5,53.1,030308,11.2,W,A*32
+$GPVTG,53.1,T,64.3,M,24.5,N,45.4,K,A*23
+$GPGGA,222613.000,2734.85043,S,15305.90565,E,1,05,1.9,53.2,M,39.2,M,,*73
+$GPGLL,2734.85043,S,15305.90565,E,222613.000,A,A*47
+$GPGSA,A,3,16,25,20,13,27,,,,,,,,3.7,1.9,3.2*3A
+$GPGST,222613.000,21.1,11.0,20.9,21.8,11.7,18.1,48.5*55
+$GPGSV,3,1,10,16,48,116,30,25,39,268,32,23,58,174,24,20,71,337,36*7A
+$GPGSV,3,2,10,19,02,029,,04,06,242,22,13,31,223,35,27,19,284,29*73
+$GPGSV,3,3,10,11,06,338,,03,14,055,29*7B
+$GPRMC,222613.000,A,2734.85043,S,15305.90565,E,24.9,45.4,030308,11.2,W,A*39
+$GPVTG,45.4,T,56.6,M,24.9,N,46.1,K,A*2F
+$GPGGA,222614.000,2734.84523,S,15305.91064,E,1,05,1.9,53.2,M,39.2,M,,*73
+$GPGLL,2734.84523,S,15305.91064,E,222614.000,A,A*47
+$GPGSA,A,3,16,25,20,13,27,,,,,,,,3.7,1.9,3.2*3A
+$GPGST,222614.000,18.8,16.8,28.3,28.1,18.2,24.0,43.4*54
+$GPGSV,3,1,10,16,48,116,27,25,39,268,30,23,58,174,32,20,71,337,35*7A
+$GPGSV,3,2,10,19,02,029,,04,06,242,28,13,31,223,26,27,19,284,32*71
+$GPGSV,3,3,10,11,06,338,,03,14,055,30*73
+$GPRMC,222614.000,A,2734.84523,S,15305.91064,E,24.7,40.2,030308,11.2,W,A*34
+$GPVTG,40.2,T,51.4,M,24.7,N,45.7,K,A*22
+$GPGGA,222615.000,2734.84002,S,15305.91547,E,1,07,1.2,53.0,M,39.2,M,,*7B
+$GPGLL,2734.84002,S,15305.91547,E,222615.000,A,A*44
+$GPGSA,A,3,16,25,23,20,13,27,03,,,,,,2.1,1.2,1.7*33
+$GPGST,222615.000,19.7,18.9,7.9,71.0,8.8,16.5,18.9*52
+$GPGSV,3,1,10,16,48,116,25,25,39,268,26,23,58,174,35,20,71,337,34*79
+$GPGSV,3,2,10,19,02,029,,04,06,242,24,13,31,223,25,27,19,284,30*7C
+$GPGSV,3,3,10,11,06,338,,03,14,055,29*7B
+$GPRMC,222615.000,A,2734.84002,S,15305.91547,E,24.1,38.7,030308,11.2,W,A*3B
+$GPVTG,38.7,T,49.9,M,24.1,N,44.7,K,A*2B
+$GPGGA,222616.000,2734.83488,S,15305.92024,E,1,07,1.2,53.1,M,39.2,M,,*7B
+$GPGLL,2734.83488,S,15305.92024,E,222616.000,A,A*45
+$GPGSA,A,3,16,25,23,20,13,27,03,,,,,,2.1,1.2,1.7*33
+$GPGST,222616.000,18.1,15.8,11.2,70.8,10.8,14.1,19.9*51
+$GPGSV,3,1,10,16,48,116,27,25,39,268,29,23,58,174,34,20,71,337,30*71
+$GPGSV,3,2,10,19,02,029,,04,06,242,27,13,31,223,24,27,19,284,28*77
+$GPGSV,3,3,10,11,06,338,,03,14,055,32*71
+$GPRMC,222616.000,A,2734.83488,S,15305.92024,E,24.0,39.3,030308,11.2,W,A*3E
+$GPVTG,39.3,T,50.5,M,24.0,N,44.5,K,A*29
+$GPGGA,222617.000,2734.82955,S,15305.92505,E,1,07,1.2,53.2,M,39.2,M,,*73
+$GPGLL,2734.82955,S,15305.92505,E,222617.000,A,A*4E
+$GPGSA,A,3,16,25,23,20,13,27,03,,,,,,2.1,1.2,1.7*33
+$GPGST,222617.000,14.7,13.3,9.2,70.7,8.9,11.8,16.8*5B
+$GPGSV,3,1,10,16,48,116,23,25,39,268,30,23,58,174,35,20,71,337,33*7F
+$GPGSV,3,2,10,19,02,029,,04,06,242,25,13,31,223,25,27,19,284,26*7A
+$GPGSV,3,3,10,11,06,338,,03,14,055,32*71
+$GPRMC,222617.000,A,2734.82955,S,15305.92505,E,24.7,38.8,030308,11.2,W,A*38
+$GPVTG,38.8,T,50.0,M,24.7,N,45.7,K,A*22
+$GPGGA,222618.000,2734.82405,S,15305.92991,E,1,07,1.2,53.5,M,39.2,M,,*72
+$GPGLL,2734.82405,S,15305.92991,E,222618.000,A,A*48
+$GPGSA,A,3,16,25,23,20,13,27,03,,,,,,2.1,1.2,1.7*33
+$GPGST,222618.000,13.7,14.7,7.8,77.2,7.6,13.2,24.3*54
+$GPGSV,3,1,10,16,48,116,27,25,39,268,30,23,58,174,36,20,71,337,32*79
+$GPGSV,3,2,10,19,02,029,,04,06,242,31,13,31,223,25,27,19,283,23*7D
+$GPGSV,3,3,10,11,06,338,,03,14,056,32*72
+$GPRMC,222618.000,A,2734.82405,S,15305.92991,E,25.3,38.3,030308,11.2,W,A*30
+$GPVTG,38.3,T,49.5,M,25.3,N,46.8,K,A*2D
+$GPGGA,222619.000,2734.81867,S,15305.93485,E,1,07,1.2,53.8,M,39.2,M,,*7C
+$GPGLL,2734.81867,S,15305.93485,E,222619.000,A,A*4B
+$GPGSA,A,3,16,25,23,20,13,27,03,,,,,,2.1,1.2,1.7*33
+$GPGST,222619.000,20.5,18.3,9.9,85.5,9.1,16.7,27.9*5A
+$GPGSV,3,1,10,16,48,116,27,25,39,268,30,23,58,174,35,20,71,337,33*7B
+$GPGSV,3,2,10,19,02,029,,04,06,242,29,13,31,223,23,27,19,283,23*72
+$GPGSV,3,3,10,11,06,338,,03,14,056,32*72
+$GPRMC,222619.000,A,2734.81867,S,15305.93485,E,25.3,39.2,030308,11.2,W,A*33
+$GPVTG,39.2,T,50.4,M,25.3,N,46.8,K,A*24
+$GPGGA,222620.000,2734.81344,S,15305.93979,E,1,05,1.6,53.8,M,39.2,M,,*74
+$GPGLL,2734.81344,S,15305.93979,E,222620.000,A,A*45
+$GPGSA,A,3,16,23,20,13,03,,,,,,,,2.5,1.6,1.9*3F
+$GPGST,222620.000,18.2,14.7,21.1,9.8,19.1,13.7,29.8*64
+$GPGSV,3,1,10,16,48,116,26,25,39,268,30,23,58,174,33,20,71,337,34*7B
+$GPGSV,3,2,10,19,02,029,,04,06,242,24,13,31,223,25,27,19,283,29*73
+$GPGSV,3,3,10,11,06,338,,03,14,056,33*73
+$GPRMC,222620.000,A,2734.81344,S,15305.93979,E,24.7,39.5,030308,11.2,W,A*3F
+$GPVTG,39.5,T,50.7,M,24.7,N,45.8,K,A*26
+$GPGGA,222621.000,2734.80838,S,15305.94469,E,1,06,1.3,53.5,M,39.2,M,,*74
+$GPGLL,2734.80838,S,15305.94469,E,222621.000,A,A*4E
+$GPGSA,A,3,16,25,23,20,13,03,,,,,,,2.3,1.3,1.9*3B
+$GPGST,222621.000,14.6,11.8,13.4,39.2,11.7,11.4,21.8*5D
+$GPGSV,3,1,10,16,48,116,25,25,39,268,31,23,58,174,33,20,71,337,37*7A
+$GPGSV,3,2,10,19,03,029,,04,06,242,24,13,31,223,24,27,19,283,36*7D
+$GPGSV,3,3,10,11,06,338,,03,14,056,32*72
+$GPRMC,222621.000,A,2734.80838,S,15305.94469,E,24.1,40.1,030308,11.2,W,A*38
+$GPVTG,40.1,T,51.3,M,24.1,N,44.7,K,A*21
+$GPGGA,222622.000,2734.80354,S,15305.94956,E,1,06,1.7,53.3,M,39.2,M,,*75
+$GPGLL,2734.80354,S,15305.94956,E,222622.000,A,A*4D
+$GPGSA,A,3,16,25,23,20,13,27,,,,,,,3.3,1.7,2.9*3B
+$GPGST,222622.000,13.2,10.2,17.1,41.6,12.5,13.2,30.8*59
+$GPGSV,3,1,10,16,48,116,26,25,39,268,31,23,58,174,26,20,71,337,39*73
+$GPGSV,3,2,10,19,03,029,,04,06,242,24,13,31,223,28,27,19,283,36*71
+$GPGSV,3,3,10,11,06,338,,03,14,056,35*75
+$GPRMC,222622.000,A,2734.80354,S,15305.94956,E,23.6,41.3,030308,11.2,W,A*38
+$GPVTG,41.3,T,52.5,M,23.6,N,43.7,K,A*20
+$GPGGA,222623.000,2734.79878,S,15305.95470,E,1,05,1.9,52.8,M,39.2,M,,*78
+$GPGLL,2734.79878,S,15305.95470,E,222623.000,A,A*47
+$GPGSA,A,3,16,25,20,13,27,,,,,,,,3.7,1.9,3.2*3A
+$GPGST,222623.000,14.7,24.8,16.6,50.3,19.9,18.6,39.3*5E
+$GPGSV,3,1,11,16,48,116,24,25,39,268,32,23,58,174,24,20,71,337,38*70
+$GPGSV,3,2,11,19,03,029,,04,06,242,24,13,31,223,32,27,19,283,34*79
+$GPGSV,3,3,11,11,06,338,,01,,,18,03,14,056,34*7D
+$GPRMC,222623.000,A,2734.79878,S,15305.95470,E,24.0,43.4,030308,11.2,W,A*36
+$GPVTG,43.4,T,54.6,M,24.0,N,44.4,K,A*25
+$GPGGA,222624.000,2734.79400,S,15305.96019,E,1,05,1.9,52.3,M,39.2,M,,*7F
+$GPGLL,2734.79400,S,15305.96019,E,222624.000,A,A*4B
+$GPGSA,A,3,16,25,20,27,03,,,,,,,,2.7,1.9,2.0*39
+$GPGST,222624.000,12.3,24.0,7.9,80.2,8.0,21.7,15.3*5C
+$GPGSV,3,1,11,16,48,116,23,25,39,268,32,23,58,174,26,20,71,337,37*7A
+$GPGSV,3,2,11,19,03,029,,04,06,242,24,13,31,223,35,27,19,283,25*7E
+$GPGSV,3,3,11,11,06,338,,01,,,18,03,14,056,31*78
+$GPRMC,222624.000,A,2734.79400,S,15305.96019,E,24.7,45.3,030308,11.2,W,A*3C
+$GPVTG,45.3,T,56.6,M,24.7,N,45.7,K,A*23
+$GPGGA,222625.000,2734.78953,S,15305.96595,E,1,05,1.9,51.8,M,39.2,M,,*7D
+$GPGLL,2734.78953,S,15305.96595,E,222625.000,A,A*41
+$GPGSA,A,3,16,25,20,13,27,,,,,,,,3.7,1.9,3.2*3A
+$GPGST,222625.000,24.0,12.2,19.9,37.5,14.2,16.0,36.1*57
+$GPGSV,3,1,11,16,48,116,30,25,39,268,32,23,58,174,23,20,71,337,37*7D
+$GPGSV,3,2,11,19,03,029,,04,06,242,25,13,31,223,36,27,19,283,25*7C
+$GPGSV,3,3,11,11,06,338,,01,,,18,03,14,056,24*7C
+$GPRMC,222625.000,A,2734.78953,S,15305.96595,E,24.8,47.9,030308,11.2,W,A*31
+$GPVTG,47.9,T,59.1,M,24.8,N,46.0,K,A*28
+$GPGGA,222626.000,2734.78516,S,15305.97172,E,1,05,2.5,51.1,M,39.2,M,,*79
+$GPGLL,2734.78516,S,15305.97172,E,222626.000,A,A*43
+$GPGSA,A,3,16,25,20,04,13,,,,,,,,4.2,2.5,3.3*37
+$GPGST,222626.000,20.2,12.6,23.1,19.8,13.0,20.2,38.4*5F
+$GPGSV,3,1,11,16,48,116,31,25,39,268,32,23,58,174,25,20,71,337,38*75
+$GPGSV,3,2,11,19,03,029,,04,06,242,25,13,31,223,36,27,19,283,23*7A
+$GPGSV,3,3,11,11,06,338,,01,,,18,03,14,056,24*7C
+$GPRMC,222626.000,A,2734.78516,S,15305.97172,E,24.7,48.3,030308,11.2,W,A*39
+$GPVTG,48.3,T,59.5,M,24.7,N,45.7,K,A*22
+$GPGGA,222627.000,2734.78079,S,15305.97737,E,1,04,2.5,50.5,M,39.2,M,,*77
+$GPGLL,2734.78079,S,15305.97737,E,222627.000,A,A*49
+$GPGSA,A,3,16,23,20,13,,,,,,,,,5.8,2.5,5.2*39
+$GPGST,222627.000,16.3,12.4,42.2,11.3,13.5,37.9,90.0*51
+$GPGSV,3,1,11,16,48,116,28,25,39,268,32,23,58,174,25,20,71,337,37*72
+$GPGSV,3,2,11,19,03,029,,04,06,242,29,13,31,223,37,27,19,283,30*75
+$GPGSV,3,3,11,11,06,338,,01,,,18,03,14,056,24*7C
+$GPRMC,222627.000,A,2734.78079,S,15305.97737,E,24.3,48.1,030308,11.2,W,A*35
+$GPVTG,48.1,T,59.3,M,24.3,N,45.1,K,A*24
+$GPGGA,222628.000,2734.77637,S,15305.98293,E,1,07,1.3,50.2,M,39.2,M,,*7E
+$GPGLL,2734.77637,S,15305.98293,E,222628.000,A,A*41
+$GPGSA,A,3,16,25,23,04,13,27,03,,,,,,2.2,1.3,1.8*38
+$GPGST,222628.000,13.2,14.5,8.8,76.9,8.4,13.0,22.0*5F
+$GPGSV,3,1,11,16,48,116,30,25,39,268,32,23,58,174,27,20,71,337,37*79
+$GPGSV,3,2,11,19,03,029,,04,06,242,32,13,31,223,37,27,19,283,28*76
+$GPGSV,3,3,11,11,06,338,,01,,,18,03,14,056,25*7D
+$GPRMC,222628.000,A,2734.77637,S,15305.98293,E,23.9,48.5,030308,11.2,W,A*34
+$GPVTG,48.5,T,59.7,M,23.9,N,44.3,K,A*2A
+$GPGGA,222629.000,2734.77226,S,15305.98850,E,1,08,1.1,49.5,M,39.2,M,,*7C
+$GPGLL,2734.77226,S,15305.98850,E,222629.000,A,A*41
+$GPGSA,A,3,16,25,23,20,04,13,27,03,,,,,1.7,1.1,1.3*35
+$GPGST,222629.000,11.0,9.5,7.3,89.6,6.7,8.6,14.3*5E
+$GPGSV,3,1,11,16,48,116,31,25,39,268,32,23,58,174,25,20,71,337,36*7B
+$GPGSV,3,2,11,19,03,029,,04,06,242,30,13,31,223,37,27,19,283,28*74
+$GPGSV,3,3,11,11,06,338,,01,,,18,03,14,056,27*7F
+$GPRMC,222629.000,A,2734.77226,S,15305.98850,E,23.5,49.4,030308,11.2,W,A*38
+$GPVTG,49.4,T,60.6,M,23.5,N,43.5,K,A*2C
+$GPGGA,222630.000,2734.76859,S,15305.99361,E,1,04,3.5,49.4,M,39.2,M,,*74
+$GPGLL,2734.76859,S,15305.99361,E,222630.000,A,A*42
+$GPGSA,A,3,16,25,20,27,,,,,,,,,4.9,3.5,3.4*39
+$GPGST,222630.000,13.4,7.9,50.0,19.9,17.0,43.1,69.5*66
+$GPGSV,3,1,11,16,48,116,31,25,39,268,30,23,58,174,22,20,71,337,36*7E
+$GPGSV,3,2,11,19,03,029,,04,06,242,32,13,31,223,35,27,19,283,24*78
+$GPGSV,3,3,11,11,06,338,18,01,,,18,03,14,056,29*78
+$GPRMC,222630.000,A,2734.76859,S,15305.99361,E,21.1,50.3,030308,11.2,W,A*32
+$GPVTG,50.3,T,61.5,M,21.1,N,39.1,K,A*2E
+$GPGGA,222631.000,2734.76498,S,15305.99809,E,1,08,1.1,48.2,M,39.2,M,,*7C
+$GPGLL,2734.76498,S,15305.99809,E,222631.000,A,A*47
+$GPGSA,A,3,16,25,23,20,04,13,27,03,,,,,1.7,1.1,1.3*35
+$GPGST,222631.000,18.4,10.8,5.8,77.6,5.6,9.7,13.2*63
+$GPGSV,3,1,11,16,48,116,32,25,39,268,31,23,58,174,22,20,71,337,35*7F
+$GPGSV,3,2,11,19,03,029,,04,06,242,30,13,31,223,36,27,19,283,25*78
+$GPGSV,3,3,11,11,06,338,18,01,,,18,03,14,056,33*73
+$GPRMC,222631.000,A,2734.76498,S,15305.99809,E,19.4,47.4,030308,11.2,W,A*38
+$GPVTG,47.4,T,58.6,M,19.4,N,35.9,K,A*2C
+$GPGGA,222632.000,2734.76359,S,15306.00162,E,1,08,1.1,49.6,M,39.2,M,,*77
+$GPGLL,2734.76359,S,15306.00162,E,222632.000,A,A*49
+$GPGSA,A,3,16,25,23,20,04,13,27,03,,,,,1.7,1.1,1.3*35
+$GPGST,222632.000,18.1,14.9,6.7,53.4,9.5,11.5,16.1*5A
+$GPGSV,3,1,11,16,48,116,30,25,39,268,31,23,58,174,31,20,71,337,31*7B
+$GPGSV,3,2,11,19,03,029,,04,06,242,22,13,31,223,37,27,19,283,29*76
+$GPGSV,3,3,11,11,06,338,24,01,,,18,03,14,056,25*7B
+$GPRMC,222632.000,A,2734.76359,S,15306.00162,E,12.4,65.5,030308,11.2,W,A*3C
+$GPVTG,65.5,T,76.7,M,12.4,N,22.9,K,A*2D
+$GPGGA,222633.000,2734.76254,S,15306.00553,E,1,08,1.1,49.0,M,39.2,M,,*7A
+$GPGLL,2734.76254,S,15306.00553,E,222633.000,A,A*42
+$GPGSA,A,3,16,25,23,20,04,13,27,03,,,,,1.7,1.1,1.3*35
+$GPGST,222633.000,13.9,12.3,5.8,55.3,7.8,9.7,13.7*62
+$GPGSV,3,1,10,16,48,116,35,25,39,268,35,23,58,174,30,20,71,337,35*7E
+$GPGSV,3,2,10,19,03,029,,04,06,242,26,13,31,223,39,27,19,283,26*72
+$GPGSV,3,3,10,11,06,338,24,03,14,056,30*76
+$GPRMC,222633.000,A,2734.76254,S,15306.00553,E,12.9,72.5,030308,11.2,W,A*3C
+$GPVTG,72.5,T,83.7,M,12.9,N,23.9,K,A*2D
+$GPGGA,222634.000,2734.76305,S,15306.00850,E,1,08,1.1,48.4,M,39.2,M,,*73
+$GPGLL,2734.76305,S,15306.00850,E,222634.000,A,A*4E
+$GPGSA,A,3,16,25,23,20,04,13,27,03,,,,,1.7,1.1,1.3*35
+$GPGST,222634.000,11.3,10.3,5.3,58.0,6.5,8.4,12.0*62
+$GPGSV,3,1,10,16,48,116,33,25,39,268,38,23,58,174,30,20,71,337,30*70
+$GPGSV,3,2,10,19,03,029,,04,06,242,29,13,31,223,34,27,19,283,30*77
+$GPGSV,3,3,10,11,06,338,23,03,14,056,25*75
+$GPRMC,222634.000,A,2734.76305,S,15306.00850,E,9.4,99.3,030308,11.2,W,A*04
+$GPVTG,99.3,T,110.5,M,9.4,N,17.3,K,A*2D
+$GPGGA,222635.000,2734.76418,S,15306.01089,E,1,08,1.1,47.9,M,39.2,M,,*76
+$GPGLL,2734.76418,S,15306.01089,E,222635.000,A,A*49
+$GPGSA,A,3,16,25,23,20,04,13,27,03,,,,,1.7,1.1,1.3*35
+$GPGST,222635.000,13.4,9.3,7.7,66.3,7.3,8.3,14.0*50
+$GPGSV,3,1,10,16,48,116,36,25,39,268,31,23,58,174,37,20,71,337,36*7D
+$GPGSV,3,2,10,19,03,029,,04,06,242,31,13,31,223,34,27,19,283,31*7F
+$GPGSV,3,3,10,11,06,338,23,03,14,056,23*73
+$GPRMC,222635.000,A,2734.76418,S,15306.01089,E,8.3,116.7,030308,11.2,W,A*37
+$GPVTG,116.7,T,127.9,M,8.3,N,15.4,K,A*14
+$GPGGA,222636.000,2734.76577,S,15306.01258,E,1,07,1.7,47.9,M,39.2,M,,*7A
+$GPGLL,2734.76577,S,15306.01258,E,222636.000,A,A*4C
+$GPGSA,A,3,16,25,23,20,04,13,27,,,,,,2.8,1.7,2.3*3F
+$GPGST,222636.000,10.6,11.9,8.1,45.4,9.3,9.3,18.8*65
+$GPGSV,3,1,10,16,48,116,41,25,39,268,35,23,58,174,40,20,71,337,33*7C
+$GPGSV,3,2,10,19,03,029,,04,06,242,32,13,31,223,28,27,19,283,34*74
+$GPGSV,3,3,10,11,06,338,25,03,14,056,23*75
+$GPRMC,222636.000,A,2734.76577,S,15306.01258,E,7.6,135.7,030308,11.2,W,A*39
+$GPVTG,135.7,T,146.9,M,7.6,N,14.1,K,A*1C
+$GPGGA,222637.000,2734.76759,S,15306.01422,E,1,07,1.7,47.8,M,39.2,M,,*7F
+$GPGLL,2734.76759,S,15306.01422,E,222637.000,A,A*48
+$GPGSA,A,3,16,25,23,20,04,13,27,,,,,,2.8,1.7,2.3*3F
+$GPGST,222637.000,8.9,7.2,10.9,44.4,8.4,8.5,17.1*59
+$GPGSV,3,1,10,16,48,116,44,25,39,268,36,23,58,174,33,20,71,337,33*7E
+$GPGSV,3,2,10,19,03,029,,04,06,242,24,13,31,223,29,27,19,283,36*70
+$GPGSV,3,3,10,11,06,338,25,03,14,056,23*75
+$GPRMC,222637.000,A,2734.76759,S,15306.01422,E,8.0,140.6,030308,11.2,W,A*37
+$GPVTG,140.6,T,151.8,M,8.0,N,14.8,K,A*18
+$GPGGA,222638.000,2734.76957,S,15306.01592,E,1,06,2.0,47.6,M,39.2,M,,*71
+$GPGLL,2734.76957,S,15306.01592,E,222638.000,A,A*4D
+$GPGSA,A,3,16,25,23,20,04,13,,,,,,,3.2,2.0,2.6*30
+$GPGST,222638.000,10.4,8.9,16.3,14.1,8.7,14.6,19.9*51
+$GPGSV,3,1,10,16,48,116,38,25,39,268,30,23,58,174,29,20,71,337,29*73
+$GPGSV,3,2,10,19,03,029,,04,06,242,28,13,31,223,31,27,19,283,29*7B
+$GPGSV,3,3,10,11,06,338,21,03,14,056,23*71
+$GPRMC,222638.000,A,2734.76957,S,15306.01592,E,8.8,142.8,030308,11.2,W,A*36
+$GPVTG,142.8,T,154.0,M,8.8,N,16.2,K,A*19
+$GPGGA,222639.000,2734.77109,S,15306.01748,E,1,07,1.7,47.8,M,39.2,M,,*7C
+$GPGLL,2734.77109,S,15306.01748,E,222639.000,A,A*4B
+$GPGSA,A,3,16,25,23,20,04,13,27,,,,,,2.8,1.7,2.3*3F
+$GPGST,222639.000,9.5,9.6,14.7,43.8,11.3,11.5,19.8*51
+$GPGSV,3,1,10,16,48,116,37,25,39,268,32,23,58,174,37,20,71,337,29*71
+$GPGSV,3,2,10,19,03,029,,04,06,242,28,13,31,223,31,27,19,283,27*75
+$GPGSV,3,3,10,11,06,338,21,03,14,056,23*71
+$GPRMC,222639.000,A,2734.77109,S,15306.01748,E,7.1,137.2,030308,11.2,W,A*3E
+$GPVTG,137.2,T,148.4,M,7.1,N,13.1,K,A*18
+$GPGGA,222640.000,2734.77216,S,15306.02018,E,1,04,2.6,47.8,M,39.2,M,,*7F
+$GPGLL,2734.77216,S,15306.02018,E,222640.000,A,A*49
+$GPGSA,A,3,16,25,23,13,,,,,,,,,6.2,2.6,5.6*32
+$GPGST,222640.000,20.0,11.7,22.3,7.0,10.9,20.3,46.8*65
+$GPGSV,3,1,10,16,48,116,32,25,39,268,29,23,58,174,24,20,71,337,25*70
+$GPGSV,3,2,10,19,03,029,,04,06,242,28,13,31,223,31,27,19,283,25*77
+$GPGSV,3,3,10,11,06,338,21,03,14,056,23*71
+$GPRMC,222640.000,A,2734.77216,S,15306.02018,E,9.4,114.2,030308,11.2,W,A*36
+$GPVTG,114.2,T,125.4,M,9.4,N,17.4,K,A*18
+$GPGGA,222641.000,2734.77543,S,15306.02149,E,1,04,2.6,47.7,M,39.2,M,,*73
+$GPGLL,2734.77543,S,15306.02149,E,222641.000,A,A*4A
+$GPGSA,A,3,16,25,23,13,,,,,,,,,6.2,2.6,5.6*32
+$GPGST,222641.000,18.3,40.3,13.2,79.5,13.7,36.3,59.1*5E
+$GPGSV,3,1,10,16,48,116,34,25,39,268,23,23,58,174,26,20,71,337,27*7C
+$GPGSV,3,2,10,19,03,029,,04,06,242,28,13,31,223,31,27,19,283,23*71
+$GPGSV,3,3,10,11,06,338,21,03,14,056,23*71
+$GPRMC,222641.000,A,2734.77543,S,15306.02149,E,12.5,160.9,030308,11.2,W,A*06
+$GPVTG,160.9,T,172.1,M,12.5,N,23.1,K,A*2E
+$GPGGA,222642.000,2734.77709,S,15306.02300,E,1,04,2.6,47.7,M,39.2,M,,*73
+$GPGLL,2734.77709,S,15306.02300,E,222642.000,A,A*4A
+$GPGSA,A,3,16,20,04,13,,,,,,,,,4.3,2.6,3.4*35
+$GPGST,222642.000,15.8,14.5,71.8,20.7,26.3,61.6,97.2*58
+$GPGSV,3,1,10,16,48,116,41,25,40,268,23,23,58,174,27,20,71,337,34*73
+$GPGSV,3,2,10,19,03,029,,04,06,242,28,13,31,223,31,27,19,283,23*71
+$GPGSV,3,3,10,11,06,338,21,03,14,056,23*71
+$GPRMC,222642.000,A,2734.77709,S,15306.02300,E,7.5,140.7,030308,11.2,W,A*3E
+$GPVTG,140.7,T,151.9,M,7.5,N,13.9,K,A*14
+$GPGGA,222643.000,2734.77831,S,15306.02427,E,1,04,2.6,47.5,M,39.2,M,,*76
+$GPGLL,2734.77831,S,15306.02427,E,222643.000,A,A*4D
+$GPGSA,A,3,16,20,04,13,,,,,,,,,4.3,2.6,3.4*35
+$GPGST,222643.000,12.9,15.5,112.8,21.4,39.9,96.1,154.3*5C
+$GPGSV,3,1,10,16,48,116,41,25,40,268,23,23,58,174,26,20,71,337,35*73
+$GPGSV,3,2,10,19,03,029,,04,06,242,28,13,31,223,31,27,19,283,23*71
+$GPGSV,3,3,10,11,06,338,21,03,14,056,23*71
+$GPRMC,222643.000,A,2734.77831,S,15306.02427,E,5.6,136.2,030308,11.2,W,A*3C
+$GPVTG,136.2,T,147.4,M,5.6,N,10.4,K,A*15
+$GPGGA,222644.000,2734.77900,S,15306.02522,E,1,04,2.5,47.4,M,39.2,M,,*74
+$GPGLL,2734.77900,S,15306.02522,E,222644.000,A,A*4D
+$GPGSA,A,3,16,23,20,13,,,,,,,,,5.8,2.5,5.2*39
+$GPGST,222644.000,11.9,32.3,39.9,23.1,35.5,30.7,165.7*69
+$GPGSV,3,1,10,16,48,116,38,25,40,268,23,23,58,174,25,20,71,337,37*7C
+$GPGSV,3,2,10,19,03,029,,04,06,242,28,13,31,223,31,27,19,283,23*71
+$GPGSV,3,3,10,11,06,338,21,03,14,056,26*74
+$GPRMC,222644.000,A,2734.77900,S,15306.02522,E,3.7,127.8,030308,11.2,W,A*31
+$GPVTG,127.8,T,139.0,M,3.7,N,6.9,K,A*2F
+$GPGGA,222645.000,2734.77991,S,15306.02594,E,1,04,3.4,47.4,M,39.2,M,,*70
+$GPGLL,2734.77991,S,15306.02594,E,222645.000,A,A*49
+$GPGSA,A,3,16,23,20,03,,,,,,,,,6.1,3.4,5.0*30
+$GPGST,222645.000,15.3,40.1,15.0,66.6,34.1,19.2,69.1*50
+$GPGSV,3,1,10,16,48,116,33,25,40,268,23,23,58,174,23,20,71,337,35*73
+$GPGSV,3,2,10,19,03,029,,04,06,242,28,13,31,223,31,27,19,283,23*71
+$GPGSV,3,3,10,11,06,338,21,03,14,056,30*73
+$GPRMC,222645.000,A,2734.77991,S,15306.02594,E,3.9,145.4,030308,11.2,W,A*33
+$GPVTG,145.4,T,156.6,M,3.9,N,7.2,K,A*2C
+$GPGGA,222646.000,2734.78074,S,15306.02652,E,1,04,3.4,47.4,M,39.2,M,,*77
+$GPGLL,2734.78074,S,15306.02652,E,222646.000,A,A*4E
+$GPGSA,A,3,16,23,20,03,,,,,,,,,6.1,3.4,5.0*30
+$GPGST,222646.000,14.8,53.5,15.6,78.9,48.1,16.9,76.9*50
+$GPGSV,3,1,11,16,48,116,32,25,40,268,23,23,58,174,26,20,71,337,32*71
+$GPGSV,3,2,11,19,03,029,,04,06,242,28,13,31,223,31,27,19,283,23*70
+$GPGSV,3,3,11,11,06,338,21,08,00,298,,03,14,056,34*4D
+$GPRMC,222646.000,A,2734.78074,S,15306.02652,E,3.5,149.5,030308,11.2,W,A*35
+$GPVTG,149.5,T,160.7,M,3.5,N,6.6,K,A*2C
+$GPGGA,222647.000,2734.78140,S,15306.02704,E,1,04,3.4,47.3,M,39.2,M,,*75
+$GPGLL,2734.78140,S,15306.02704,E,222647.000,A,A*4B
+$GPGSA,A,3,16,23,20,03,,,,,,,,,6.1,3.4,5.0*30
+$GPGST,222647.000,11.7,42.4,13.1,77.7,38.0,14.3,60.9*53
+$GPGSV,3,1,11,16,48,116,37,25,40,268,23,23,58,174,31,20,71,337,36*76
+$GPGSV,3,2,11,19,03,029,,04,06,242,28,13,31,223,31,27,19,283,23*70
+$GPGSV,3,3,11,11,06,338,21,08,00,298,,03,14,056,34*4D
+$GPRMC,222647.000,A,2734.78140,S,15306.02704,E,2.8,145.4,030308,11.2,W,A*31
+$GPVTG,145.4,T,156.6,M,2.8,N,5.1,K,A*2D
+$GPGGA,222648.000,2734.78183,S,15306.02753,E,1,04,3.5,47.2,M,39.2,M,,*77
+$GPGLL,2734.78183,S,15306.02753,E,222648.000,A,A*49
+$GPGSA,A,3,16,23,20,03,,,,,,,,,6.1,3.5,5.0*31
+$GPGST,222648.000,11.3,35.2,16.9,76.3,31.5,16.9,53.8*53
+$GPGSV,3,1,11,16,48,116,35,25,40,267,23,23,58,174,37,20,71,337,35*7E
+$GPGSV,3,2,11,19,03,029,,04,06,242,28,13,31,223,31,27,19,283,23*70
+$GPGSV,3,3,11,11,06,338,21,08,00,298,,03,14,056,35*4C
+$GPRMC,222648.000,A,2734.78183,S,15306.02753,E,2.1,135.8,030308,11.2,W,A*31
+$GPVTG,135.8,T,147.1,M,2.1,N,3.9,K,A*26
+$GPGGA,222649.000,2734.78197,S,15306.02773,E,1,04,3.5,46.8,M,39.2,M,,*7A
+$GPGLL,2734.78197,S,15306.02773,E,222649.000,A,A*4F
+$GPGSA,A,3,16,23,20,03,,,,,,,,,6.1,3.5,5.0*31
+$GPGST,222649.000,13.9,60.8,14.8,84.0,55.3,14.7,79.7*52
+$GPGSV,3,1,11,16,48,116,31,25,40,267,23,23,58,174,36,20,71,337,31*7F
+$GPGSV,3,2,11,19,03,029,,04,06,242,,13,31,223,,27,19,283,23*78
+$GPGSV,3,3,11,11,06,338,21,08,00,298,,03,14,056,29*41
+$GPRMC,222649.000,A,2734.78197,S,15306.02773,E,0.6,148.6,030308,11.2,W,A*36
+$GPVTG,148.6,T,159.8,M,0.6,N,1.2,K,A*28
+$GPGGA,222650.000,2734.78195,S,15306.02785,E,1,04,3.5,46.4,M,39.2,M,,*75
+$GPGLL,2734.78195,S,15306.02785,E,222650.000,A,A*4C
+$GPGSA,A,3,16,23,20,03,,,,,,,,,6.1,3.5,5.0*31
+$GPGST,222650.000,11.4,48.0,12.9,83.3,43.6,12.8,63.8*5B
+$GPGSV,3,1,11,16,48,116,30,25,40,267,23,23,58,174,33,20,71,337,30*7A
+$GPGSV,3,2,11,19,03,029,,04,06,242,,13,31,223,,27,19,283,23*78
+$GPGSV,3,3,11,11,06,338,21,08,00,298,,03,14,056,26*4E
+$GPRMC,222650.000,A,2734.78195,S,15306.02785,E,0.2,6.4,030308,11.2,W,A*38
+$GPVTG,6.4,T,17.6,M,0.2,N,0.3,K,A*10
+$GPGGA,222651.000,2734.78191,S,15306.02798,E,1,04,3.5,45.9,M,39.2,M,,*72
+$GPGLL,2734.78191,S,15306.02798,E,222651.000,A,A*45
+$GPGSA,A,3,16,23,20,03,,,,,,,,,6.1,3.5,5.0*31
+$GPGST,222651.000,9.8,40.0,12.0,82.4,36.3,11.9,53.8*6E
+$GPGSV,3,1,11,16,48,116,28,25,40,267,,23,58,174,35,20,71,337,26*73
+$GPGSV,3,2,11,19,03,029,,04,06,242,,13,31,223,,27,19,283,*79
+$GPGSV,3,3,11,11,06,338,21,08,00,298,,03,14,056,28*40
+$GPRMC,222651.000,A,2734.78191,S,15306.02798,E,0.1,352.6,030308,11.2,W,A*32
+$GPVTG,352.6,T,3.8,M,0.1,N,0.3,K,A*28
+$GPGGA,222652.000,2734.78198,S,15306.02797,E,1,04,3.5,45.9,M,39.2,M,,*77
+$GPGLL,2734.78198,S,15306.02797,E,222652.000,A,A*40
+$GPGSA,A,3,16,23,20,03,,,,,,,,,6.1,3.5,5.0*31
+$GPGST,222652.000,21.7,41.2,15.0,83.8,37.5,14.2,91.6*58
+$GPGSV,3,1,11,16,48,116,24,25,40,267,,23,58,174,23,20,71,337,26*78
+$GPGSV,3,2,11,19,03,029,,04,06,242,,13,31,223,,27,19,283,*79
+$GPGSV,3,3,11,11,06,338,21,08,00,298,,03,14,056,24*4C
+$GPRMC,222652.000,A,2734.78198,S,15306.02797,E,0.2,263.5,030308,11.2,W,A*34
+$GPVTG,263.5,T,274.7,M,0.2,N,0.3,K,A*26
+$GPGGA,222653.000,2734.78226,S,15306.02793,E,1,04,3.5,45.9,M,39.2,M,,*74
+$GPGLL,2734.78226,S,15306.02793,E,222653.000,A,A*43
+$GPGSA,A,3,16,23,20,03,,,,,,,,,6.1,3.5,5.0*31
+$GPGST,222653.000,18.8,36.4,20.7,81.4,33.0,19.3,78.6*5F
+$GPGSV,3,1,11,16,48,116,24,25,40,267,,23,58,174,25,20,71,337,25*7D
+$GPGSV,3,2,11,19,03,029,,04,06,242,,13,31,223,,27,20,283,*73
+$GPGSV,3,3,11,11,06,338,21,08,00,298,,03,14,056,24*4C
+$GPRMC,222653.000,A,2734.78226,S,15306.02793,E,0.8,188.1,030308,11.2,W,A*3F
+$GPVTG,188.1,T,199.3,M,0.8,N,1.5,K,A*2D
+$GPGGA,222654.000,2734.78231,S,15306.02789,E,1,04,3.5,45.9,M,39.2,M,,*7E
+$GPGLL,2734.78231,S,15306.02789,E,222654.000,A,A*49
+$GPGSA,A,3,16,23,20,03,,,,,,,,,6.1,3.5,5.0*31
+$GPGST,222654.000,14.4,23.3,16.5,69.8,20.7,16.0,57.9*5D
+$GPGSV,3,1,11,16,48,116,34,25,40,267,,23,58,174,34,20,71,337,31*79
+$GPGSV,3,2,11,19,03,029,,04,06,242,,13,31,223,,27,20,283,*73
+$GPGSV,3,3,11,11,06,338,21,08,00,298,,03,14,056,31*48
+$GPRMC,222654.000,A,2734.78231,S,15306.02789,E,0.1,145.6,030308,11.2,W,A*3A
+$GPVTG,145.6,T,156.8,M,0.1,N,0.2,K,A*2C
+$GPGGA,222655.000,2734.78251,S,15306.02806,E,1,04,3.5,45.8,M,39.2,M,,*70
+$GPGLL,2734.78251,S,15306.02806,E,222655.000,A,A*46
+$GPGSA,A,3,16,23,20,03,,,,,,,,,6.1,3.5,5.0*31
+$GPGST,222655.000,12.0,28.1,14.0,78.7,25.3,13.6,52.5*54
+$GPGSV,3,1,11,16,48,116,40,25,40,267,,23,58,174,38,20,71,337,35*72
+$GPGSV,3,2,11,19,03,029,,04,06,242,,13,31,223,,27,20,283,*73
+$GPGSV,3,3,11,11,06,338,21,08,00,298,,03,14,056,36*4F
+$GPRMC,222655.000,A,2734.78251,S,15306.02806,E,0.7,135.5,030308,11.2,W,A*37
+$GPVTG,135.5,T,146.8,M,0.7,N,1.2,K,A*2E
+$GPGGA,222656.000,2734.78273,S,15306.02823,E,1,04,3.5,45.7,M,39.2,M,,*7B
+$GPGLL,2734.78273,S,15306.02823,E,222656.000,A,A*42
+$GPGSA,A,3,16,23,20,03,,,,,,,,,6.1,3.5,5.0*31
+$GPGST,222656.000,9.9,24.8,12.2,76.6,22.2,12.0,44.0*69
+$GPGSV,3,1,11,16,48,116,38,25,40,267,,23,58,174,36,20,71,337,30*76
+$GPGSV,3,2,11,19,03,029,,04,06,242,,13,31,223,,27,20,283,*73
+$GPGSV,3,3,11,11,06,338,21,08,00,298,,03,14,056,35*4C
+$GPRMC,222656.000,A,2734.78273,S,15306.02823,E,0.5,135.5,030308,11.2,W,A*31
+$GPVTG,135.5,T,146.7,M,0.5,N,1.0,K,A*21
+$GPGGA,222657.000,2734.78312,S,15306.02858,E,1,04,3.5,45.5,M,39.2,M,,*72
+$GPGLL,2734.78312,S,15306.02858,E,222657.000,A,A*49
+$GPGSA,A,3,16,23,20,03,,,,,,,,,6.1,3.5,5.0*31
+$GPGST,222657.000,8.4,22.4,10.9,74.9,19.9,11.0,38.1*60
+$GPGSV,3,1,11,16,48,116,37,25,40,267,,23,58,174,36,20,71,337,30*79
+$GPGSV,3,2,11,19,03,029,,04,06,242,,13,31,223,,27,20,283,*73
+$GPGSV,3,3,11,11,06,338,21,08,00,298,,03,14,056,34*4D
+$GPRMC,222657.000,A,2734.78312,S,15306.02858,E,1.3,137.6,030308,11.2,W,A*3C
+$GPVTG,137.6,T,148.8,M,1.3,N,2.4,K,A*21
+$GPGGA,222658.000,2734.78370,S,15306.02910,E,1,04,3.5,45.4,M,39.2,M,,*75
+$GPGLL,2734.78370,S,15306.02910,E,222658.000,A,A*4F
+$GPGSA,A,3,16,23,20,03,,,,,,,,,6.1,3.5,5.0*31
+$GPGST,222658.000,11.5,25.4,19.7,45.8,20.9,20.7,46.1*53
+$GPGSV,3,1,11,16,48,116,34,25,40,267,18,23,58,174,36,20,71,337,32*71
+$GPGSV,3,2,11,19,03,029,,04,06,242,,13,31,223,,27,20,283,*73
+$GPGSV,3,3,11,11,06,338,,08,00,298,,03,14,056,32*48
+$GPRMC,222658.000,A,2734.78370,S,15306.02910,E,2.7,141.8,030308,11.2,W,A*32
+$GPVTG,141.8,T,153.0,M,2.7,N,5.0,K,A*28
+$GPGGA,222659.000,2734.78463,S,15306.02956,E,1,04,3.5,45.4,M,39.2,M,,*73
+$GPGLL,2734.78463,S,15306.02956,E,222659.000,A,A*49
+$GPGSA,A,3,16,23,20,03,,,,,,,,,6.1,3.5,5.0*31
+$GPGST,222659.000,10.9,34.8,17.8,79.2,31.4,17.1,52.2*5E
+$GPGSV,3,1,11,16,48,116,32,25,40,267,18,23,58,174,37,20,71,337,32*76
+$GPGSV,3,2,11,19,03,029,,04,06,242,,13,31,223,,27,20,283,*73
+$GPGSV,3,3,11,11,06,338,,08,00,298,,03,14,056,26*4D
+$GPRMC,222659.000,A,2734.78463,S,15306.02956,E,3.6,157.2,030308,11.2,W,A*39
+$GPVTG,157.2,T,168.4,M,3.6,N,6.7,K,A*2D
+$GPGGA,222700.000,2734.78553,S,15306.02974,E,1,04,3.5,45.3,M,39.2,M,,*7B
+$GPGLL,2734.78553,S,15306.02974,E,222700.000,A,A*46
+$GPGSA,A,3,16,23,20,03,,,,,,,,,6.1,3.5,5.0*31
+$GPGST,222700.000,13.4,30.5,15.4,80.9,27.6,14.6,58.2*5C
+$GPGSV,3,1,11,16,48,116,38,25,40,267,18,23,58,174,42,20,71,337,34*78
+$GPGSV,3,2,11,19,03,029,,04,06,242,,13,31,223,,27,20,283,*73
+$GPGSV,3,3,11,11,06,338,,08,00,298,,03,14,056,30*4A
+$GPRMC,222700.000,A,2734.78553,S,15306.02974,E,3.1,171.1,030308,11.2,W,A*36
+$GPVTG,171.1,T,182.3,M,3.1,N,5.7,K,A*2D
+$GPGGA,222701.000,2734.78678,S,15306.02887,E,1,05,1.6,45.4,M,39.2,M,,*7A
+$GPGLL,2734.78678,S,15306.02887,E,222701.000,A,A*40
+$GPGSA,A,3,16,23,20,13,03,,,,,,,,2.5,1.6,1.9*3F
+$GPGST,222701.000,18.6,22.3,33.4,25.2,29.0,22.6,46.2*53
+$GPGSV,3,1,11,16,48,116,30,25,40,267,18,23,58,174,33,20,71,337,27*74
+$GPGSV,3,2,11,19,03,029,,04,06,242,,13,31,223,20,27,20,283,*71
+$GPGSV,3,3,11,11,06,338,,08,00,298,,03,14,056,27*4C
+$GPRMC,222701.000,A,2734.78678,S,15306.02887,E,5.1,212.6,030308,11.2,W,A*37
+$GPVTG,212.6,T,223.8,M,5.1,N,9.5,K,A*27
+$GPGGA,222702.000,2734.78726,S,15306.02769,E,1,04,3.5,45.3,M,39.2,M,,*7B
+$GPGLL,2734.78726,S,15306.02769,E,222702.000,A,A*46
+$GPGSA,A,3,16,23,20,03,,,,,,,,,6.1,3.5,5.0*31
+$GPGST,222702.000,14.7,49.5,20.8,84.3,45.1,19.5,72.8*5F
+$GPGSV,3,1,11,16,48,116,36,25,40,267,18,23,58,174,40,20,71,337,31*71
+$GPGSV,3,2,11,19,03,029,,04,06,242,,13,31,223,20,27,20,283,*71
+$GPGSV,3,3,11,11,06,338,,08,00,298,,03,14,056,28*43
+$GPRMC,222702.000,A,2734.78726,S,15306.02769,E,4.2,246.4,030308,11.2,W,A*30
+$GPVTG,246.4,T,257.6,M,4.2,N,7.7,K,A*27
+$GPGGA,222703.000,2734.78745,S,15306.02617,E,1,05,1.6,45.3,M,39.2,M,,*77
+$GPGLL,2734.78745,S,15306.02617,E,222703.000,A,A*4A
+$GPGSA,A,3,16,23,20,13,03,,,,,,,,2.5,1.6,1.9*3F
+$GPGST,222703.000,12.3,16.0,23.0,21.5,20.3,15.6,33.1*53
+$GPGSV,3,1,11,16,48,116,31,25,40,267,18,23,58,174,29,20,70,337,23*7B
+$GPGSV,3,2,11,19,03,029,,04,06,242,,13,31,223,22,27,20,283,*73
+$GPGSV,3,3,11,11,06,338,,08,00,298,,03,14,056,27*4C
+$GPRMC,222703.000,A,2734.78745,S,15306.02617,E,4.9,265.5,030308,11.2,W,A*37
+$GPVTG,265.5,T,276.7,M,4.9,N,9.1,K,A*26
+$GPGGA,222704.000,2734.78730,S,15306.02555,E,1,04,3.5,45.3,M,39.2,M,,*77
+$GPGLL,2734.78730,S,15306.02555,E,222704.000,A,A*4A
+$GPGSA,A,3,16,23,20,03,,,,,,,,,6.1,3.5,5.1*30
+$GPGST,222704.000,9.5,34.0,22.1,80.5,30.8,20.6,55.7*69
+$GPGSV,3,1,11,16,48,116,31,25,40,267,18,23,58,174,29,20,70,337,23*7B
+$GPGSV,3,2,11,19,03,029,,04,06,242,,13,31,223,22,27,20,283,*73
+$GPGSV,3,3,11,11,06,338,,08,00,298,,03,14,056,31*4B
+$GPRMC,222704.000,A,2734.78730,S,15306.02555,E,2.1,286.5,030308,11.2,W,A*34
+$GPVTG,286.5,T,297.7,M,2.1,N,3.9,K,A*28
+$GPGGA,222705.000,2734.78698,S,15306.02452,E,1,04,3.5,45.3,M,39.2,M,,*73
+$GPGLL,2734.78698,S,15306.02452,E,222705.000,A,A*4E
+$GPGSA,A,3,16,23,20,03,,,,,,,,,6.1,3.5,5.1*30
+$GPGST,222705.000,93.8,65.1,31.9,84.0,59.3,29.7,94.1*5F
+$GPGSV,3,1,11,16,48,116,29,25,40,267,18,23,58,174,29,20,70,337,23*72
+$GPGSV,3,2,11,19,03,029,,04,06,242,,13,31,223,22,27,20,283,*73
+$GPGSV,3,3,11,11,06,338,,08,00,298,,03,14,056,30*4A
+$GPRMC,222705.000,A,2734.78698,S,15306.02452,E,3.6,290.3,030308,11.2,W,A*37
+$GPVTG,290.3,T,301.5,M,3.6,N,6.8,K,A*27
+$GPGGA,222706.000,2734.78686,S,15306.02339,E,1,04,3.5,45.3,M,39.2,M,,*75
+$GPGLL,2734.78686,S,15306.02339,E,222706.000,A,A*48
+$GPGSA,A,3,16,23,20,03,,,,,,,,,6.1,3.5,5.1*30
+$GPGST,222706.000,114.3,62.0,48.3,70.3,55.4,45.7,116.3*5B
+$GPGSV,3,1,11,16,48,116,24,25,40,267,18,23,58,174,29,20,70,337,23*7F
+$GPGSV,3,2,11,19,03,029,,04,06,242,,13,31,223,22,27,20,283,*73
+$GPGSV,3,3,11,11,06,338,,08,00,298,,03,14,056,24*4F
+$GPRMC,222706.000,A,2734.78686,S,15306.02339,E,3.4,277.7,030308,11.2,W,A*3E
+$GPVTG,277.7,T,288.9,M,3.4,N,6.3,K,A*2F
+$GPGGA,222707.000,2734.78679,S,15306.02251,E,1,04,3.5,45.3,M,39.2,M,,*7B
+$GPGLL,2734.78679,S,15306.02251,E,222707.000,A,A*46
+$GPGSA,A,3,16,23,20,03,,,,,,,,,6.1,3.5,5.1*30
+$GPGST,222707.000,128.0,90.0,67.0,53.0,75.4,69.6,158.6*55
+$GPGSV,3,1,11,16,48,116,24,25,40,267,18,23,58,174,29,20,70,337,23*7F
+$GPGSV,3,2,11,19,03,029,,04,06,242,,13,31,223,22,27,20,283,*73
+$GPGSV,3,3,11,11,06,338,,08,00,298,,03,14,056,24*4F
+$GPRMC,222707.000,A,2734.78679,S,15306.02251,E,,,030308,,,A*79
+$GPVTG,,T,,M,,N,,K,N*2C
+$GPGGA,222708.000,2734.78673,S,15306.02181,E,1,05,1.6,45.3,M,39.2,M,,*70
+$GPGLL,2734.78673,S,15306.02181,E,222708.000,A,A*4D
+$GPGSA,A,3,16,23,20,13,03,,,,,,,,2.5,1.6,1.9*3F
+$GPGST,222708.000,66.8,93.0,70.5,62.6,69.3,81.1,141.7*6F
+$GPGSV,3,1,11,16,48,116,24,25,40,267,,23,58,174,29,20,70,337,23*76
+$GPGSV,3,2,11,19,03,029,,04,06,242,,13,31,222,22,27,20,283,*72
+$GPGSV,3,3,11,11,06,338,,08,00,298,,03,14,056,24*4F
+$GPRMC,222708.000,A,2734.78673,S,15306.02181,E,,,030308,,,A*72
+$GPVTG,,T,,M,,N,,K,N*2C
+$GPGGA,222709.000,2734.78668,S,15306.02124,E,1,05,1.6,45.3,M,39.2,M,,*74
+$GPGLL,2734.78668,S,15306.02124,E,222709.000,A,A*49
+$GPGSA,A,2,16,23,20,13,03,,,,,,,,1.8,1.6,0.9*31
+$GPGST,222709.000,89.5,61.2,117.7,37.9,91.7,79.5,4.3*54
+$GPGSV,3,1,11,16,48,116,24,25,40,267,,23,58,174,29,20,70,337,23*76
+$GPGSV,3,2,11,19,03,029,,04,06,242,,13,31,222,22,27,20,283,*72
+$GPGSV,3,3,11,11,06,338,,08,00,298,,03,14,056,24*4F
+$GPRMC,222709.000,A,2734.78668,S,15306.02124,E,,,030308,,,A*76
+$GPVTG,,T,,M,,N,,K,N*2C
+$GPGGA,222710.000,2734.78664,S,15306.02080,E,1,05,1.6,45.3,M,39.2,M,,*7F
+$GPGLL,2734.78664,S,15306.02080,E,222710.000,A,A*42
+$GPGSA,A,2,16,23,20,13,03,,,,,,,,1.8,1.6,0.9*31
+$GPGST,222710.000,117.0,82.3,157.6,39.0,121.7,107.9,3.9*62
+$GPGSV,3,1,11,16,48,116,24,25,40,267,,23,58,174,29,20,70,337,23*76
+$GPGSV,3,2,11,19,03,029,,04,06,242,,13,31,222,22,27,20,283,*72
+$GPGSV,3,3,11,11,06,338,,08,00,298,,03,14,056,24*4F
+$GPRMC,222710.000,A,2734.78664,S,15306.02080,E,,,030308,,,A*7D
+$GPVTG,,T,,M,,N,,K,N*2C
+$GPGGA,222711.000,2734.78660,S,15306.02044,E,1,05,1.6,45.3,M,39.2,M,,*72
+$GPGLL,2734.78660,S,15306.02044,E,222711.000,A,A*4F
+$GPGSA,A,2,16,23,20,13,03,,,,,,,,1.8,1.6,0.9*31
+$GPGST,222711.000,128.0,107.6,205.2,40.2,156.7,142.6,3.5*58
+$GPGSV,3,1,11,16,48,116,24,25,40,267,,23,58,174,29,20,70,337,23*76
+$GPGSV,3,2,11,19,03,029,,04,06,242,,13,31,222,22,27,20,283,*72
+$GPGSV,3,3,11,11,06,338,,08,00,298,,03,14,056,24*4F
+$GPRMC,222711.000,A,2734.78660,S,15306.02044,E,,,030308,,,A*70
+$GPVTG,,T,,M,,N,,K,N*2C
+$GPGGA,222712.000,2734.78658,S,15306.02015,E,1,05,1.6,45.3,M,39.2,M,,*7E
+$GPGLL,2734.78658,S,15306.02015,E,222712.000,A,A*43
+$GPGSA,A,2,16,23,20,13,03,,,,,,,,1.8,1.6,0.9*31
+$GPGST,222712.000,128.0,137.2,261.1,41.4,197.4,183.9,3.2*51
+$GPGSV,3,1,11,16,48,116,24,25,40,267,,23,58,173,29,20,70,337,23*71
+$GPGSV,3,2,11,19,03,029,,04,06,242,,13,31,222,22,27,20,283,*72
+$GPGSV,3,3,11,11,06,338,,08,00,298,,03,14,056,24*4F
+$GPRMC,222712.000,A,2734.78658,S,15306.02015,E,,,030308,,,A*7C \ No newline at end of file
diff --git a/examples/declarative/flickr/qmllocationflickr.cpp b/examples/declarative/flickr/qmllocationflickr.cpp
new file mode 100644
index 00000000..45a36f93
--- /dev/null
+++ b/examples/declarative/flickr/qmllocationflickr.cpp
@@ -0,0 +1,62 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Mobility Components.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtGui/QApplication>
+#include <QtDeclarative/QDeclarativeView>
+#include <QtDeclarative/QDeclarativeEngine>
+
+int main(int argc, char *argv[])
+{
+ QApplication application(argc, argv);
+ const QString mainQmlApp = QLatin1String("qrc:///flickr.qml");
+ QDeclarativeView view;
+ view.setSource(QUrl(mainQmlApp));
+ view.setResizeMode(QDeclarativeView::SizeRootObjectToView);
+ // Qt.quit() called in embedded .qml by default only emits
+ // quit() signal, so do this (optionally use Qt.exit()).
+ QObject::connect(view.engine(), SIGNAL(quit()), qApp, SLOT(quit()));
+#if defined(Q_OS_SYMBIAN) || defined(Q_WS_MAEMO_6)
+ view.showFullScreen();
+#else
+ view.setGeometry(QRect(100, 100, 360, 640));
+ view.show();
+#endif
+ return application.exec();
+}
diff --git a/examples/declarative/landmarkmap/landmarkmap.pro b/examples/declarative/landmarkmap/landmarkmap.pro
new file mode 100644
index 00000000..de018240
--- /dev/null
+++ b/examples/declarative/landmarkmap/landmarkmap.pro
@@ -0,0 +1,24 @@
+TEMPLATE=app
+TARGET = qml_location_landmarkmap
+
+QT += declarative network location
+
+SOURCES += qmllandmarkmap.cpp
+
+symbian {
+ TARGET.CAPABILITY = NetworkServices Location ReadUserData WriteUserData
+ TARGET.CAPABILITY += LocalServices ReadDeviceData WriteDeviceData
+ TARGET.EPOCHEAPSIZE = 0x20000 0x2000000
+}
+
+RESOURCES += \
+ landmarkmap.qrc
+
+install_files.files += nmealog.txt mylm.lmx landmarkmapcommon landmarkmapmobile landmarkmap.qml
+install_files.path = $$[QT_INSTALL_DEMOS]/qtlocation/declarative/landmark
+
+target.path = $$[QT_INSTALL_DEMOS]/qtlocation/declarative/landmark
+sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS *.pro
+sources.path = $$[QT_INSTALL_DEMOS]/qtlocation/declarative/landmark
+
+INSTALLS += target sources install_files
diff --git a/examples/declarative/landmarkmap/landmarkmap.qml b/examples/declarative/landmarkmap/landmarkmap.qml
new file mode 100644
index 00000000..fb88c0fc
--- /dev/null
+++ b/examples/declarative/landmarkmap/landmarkmap.qml
@@ -0,0 +1,381 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Mobility Components.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+import QtMobility.location 1.2
+import "landmarkmapcommon" as Common
+import "landmarkmapmobile" as Mobile
+
+Item {
+ id: page
+ width: 320
+ height: 480
+ focus: true
+
+ PositionSource {
+ id: myPositionSource
+ active: true
+ updateInterval: 2000
+ onPositionChanged: console.log("Position changed in PositionSource")
+ }
+ //![Map toCoordinate]
+ LandmarkBoxFilter {
+ id: boxFilter
+ topLeft: map.toCoordinate(Qt.point(0,0))
+ bottomRight: map.toCoordinate(Qt.point(map.width, map.height))
+ }
+ //![Map toCoordinate]
+
+ LandmarkProximityFilter {
+ id: proximityFilter
+ center: myPositionSource.position.coordinate
+ radius: 500000
+ }
+
+ LandmarkModel {
+ id: landmarkModelAll
+ autoUpdate: true
+ filter: boxFilter
+ limit: 20
+ onModelChanged: {
+ console.log("All landmark model changed, landmark count: " + count)
+ }
+ }
+
+ LandmarkModel {
+ id: landmarkModelNear
+ autoUpdate: true
+ filter: proximityFilter
+ limit: 20
+ onModelChanged: {
+ console.log("Near landmark model changed, landmark count: " + count)
+ }
+ }
+
+ Component {
+ id: landmarkListDelegate
+ Item {
+ width: 200; height: 80
+ Text {
+ color: "white"; font.bold: true; style: Text.Raised; styleColor: "black"
+ id: nameField; text: landmark.name
+ }
+ Text {
+ color: "white"; font.bold: true; style: Text.Raised; styleColor: "black"
+ anchors.top: nameField.bottom
+ id: latField; text: " Lat: " + landmark.coordinate.latitude
+ }
+ Text {
+ color: "white"; font.bold: true; style: Text.Raised; styleColor: "black"
+ anchors.top: latField.bottom
+ id: lonField; text: " Lon: " + landmark.coordinate.longitude
+ }
+ }
+ }
+
+ //![Category model]
+ LandmarkCategoryModel {
+ id: landmarkCategoryModel
+ autoUpdate: true
+ onModelChanged: console.log("Category model changed, category count: " + count)
+ }
+
+ Coordinate {
+ id: initCoordinate
+ latitude: -27.5
+ longitude: 153
+ }
+
+ Component {
+ id: landmarkCategoryListDelegate
+ Item {
+ width: 200; height: 50
+ Text {
+ color: "white"; font.bold: true; style: Text.Raised; styleColor: "black"
+ id: nameField; text: category.name
+ }
+ }
+ }
+ //![Category model]
+
+ Mobile.TitleBar { id: titleBar; z: 5; width: parent.width - statusBar.width; height: 40; opacity: 0.8 }
+ Mobile.StatusBar { id: statusBar; z: 6; width: 80; height: titleBar.height; opacity: titleBar.opacity; anchors.right: parent.right}
+
+ Rectangle {
+ id: dataArea
+ anchors.top: titleBar.bottom
+ anchors.bottom: toolbar2.bottom
+ width: parent.width
+ color: "#343434"
+ //height: toolbar1.y - titleBar.height
+ Image { source: "landmarkmapmobile/images/stripes.png"; fillMode: Image.Tile; anchors.fill: parent; opacity: 0.3 }
+
+ ListView {
+ id: landmarkListView;
+ model: landmarkModelAll;
+ delegate: landmarkListDelegate;
+ width: parent.width - 20;
+ height: parent.height -20;
+ x: -(parent.width * 1.5);
+ highlightFollowsCurrentItem: false
+ focus: true
+ }
+
+ //![Category model]
+ ListView {
+ id: landmarkCategoryListView;
+ model: landmarkCategoryModel;
+ delegate: landmarkCategoryListDelegate;
+ width: parent.width - 20;
+ height: parent.height -20;
+ x: -(parent.width * 1.5);
+ highlightFollowsCurrentItem: false
+ focus: true
+ }
+ //![Category model]
+ //![Map Plugin]
+ Map {
+ id: map
+ plugin : Plugin { name : "nokia"}
+ //![Map Plugin]
+ anchors.fill: parent
+ size.width: parent.width
+ size.height: parent.height
+ zoomLevel:9
+ center: initCoordinate
+
+ MapObjectView {
+ id: allLandmarks
+ model: landmarkModelAll
+ delegate: Component {
+ //![MapImage]
+ MapImage {
+ source: "landmarkmapmobile/images/landmarkstar.png"
+ coordinate: landmark.coordinate
+ }
+ //![MapImage]
+ }
+ }
+
+ MapObjectView {
+ id: landmarksNearMe
+ model: landmarkModelNear
+ delegate: Component {
+ //![MapGroup]
+ MapGroup {
+ MapCircle {
+ color: "green"
+ radius: 100
+ center: landmark.coordinate
+ }
+ MapCircle {
+ color: "red"
+ radius: 30
+ center: landmark.coordinate
+ }
+ }
+ //![MapGroup]
+ }
+ }
+ onZoomLevelChanged: {
+ console.log("Zoom changed")
+ updateFilters();
+ }
+ onCenterChanged: {
+ console.log("Center changed")
+ updateFilters();
+ }
+ function updateFilters () {
+ // The pixel coordinates used are the map's pixel coordinates, not
+ // the absolute pixel coordinates of the application. Hence e.g. (0,0) is always
+ // the top left point
+ var topLeftCoordinate = map.toCoordinate(Qt.point(0,0))
+ var bottomRightCoordinate = map.toCoordinate(Qt.point(map.size.width, map.size.height))
+ boxFilter.topLeft = topLeftCoordinate;
+ boxFilter.bottomRight = bottomRightCoordinate;
+ }
+ } // map
+
+ MouseArea {
+ anchors.fill: parent
+
+ property bool mouseDown : false
+ property int lastX : -1
+ property int lastY : -1
+
+ onPressed : {
+ mouseDown = true
+ // While panning, its better not to actively udpate the model
+ // as it results in poor performance.
+ landmarkModelAll.autoUpdate = false
+ landmarkModelNear.autoUpdate = false
+ lastX = mouse.x
+ lastY = mouse.y
+ }
+ onReleased : {
+ mouseDown = false
+ landmarkModelAll.autoUpdate = true
+ landmarkModelNear.autoUpdate = true
+ landmarkModelAll.update()
+ landmarkModelNear.update()
+ lastX = -1
+ lastY = -1
+ }
+ onPositionChanged: {
+ if (mouseDown) {
+ var dx = mouse.x - lastX
+ var dy = mouse.y - lastY
+ map.pan(-dx, -dy)
+ page.state = "NoFollowing"
+ myPositionSource.active = false
+ lastX = mouse.x
+ lastY = mouse.y
+ }
+ }
+ onDoubleClicked: {
+ page.state = "NoFollowing"
+ myPositionSource.active = false
+ map.center = map.toCoordinate(Qt.point(mouse.x, mouse.y))
+ if (map.zoomLevel < map.maximumZoomLevel)
+ map.zoomLevel += 1
+ }
+ } // MouseArea
+
+
+
+ Mobile.Floater {
+ id : dataFloater
+ latitude: myPositionSource.position.coordinate.latitude
+ longitude: myPositionSource.position.coordinate.longitude
+ landmarks: landmarkModelAll.count
+ categories: landmarkCategoryModel.count
+ }
+ } // dataArea
+
+ Item {
+ id: sliderContainer
+ anchors {bottom: toolbar1.top;}
+ height: 40
+ width: parent.width
+
+ Common.Slider {
+ id: zoomSlider;
+ minimum: 1; maximum: 18;
+ anchors {
+ fill: parent
+ bottomMargin: 5; rightMargin: 5; leftMargin: 5
+ }
+ onValueChanged: {
+ map.zoomLevel = value
+ }
+ }
+ }
+
+ Mobile.ToolBar {
+ id: toolbar1
+ opacity: titleBar.opacity
+ height: 40; width: parent.width
+ anchors.bottom: toolbar2.top
+ z: 6
+ button1Label: "map"; button2Label: "landmarks"; button3Label: "categories"
+ onButton1Clicked: {
+ if (page.state != "")
+ page.state = ""
+ }
+ onButton2Clicked: {
+ if (page.state != "LandmarkView")
+ page.state = "LandmarkView"
+ }
+ onButton3Clicked: {
+ if (page.state != "CategoryView")
+ page.state = "CategoryView"
+ }
+ }
+
+ Mobile.ToolBar {
+ id: toolbar2
+ opacity: titleBar.opacity
+ height: 40; width: parent.width
+ anchors.bottom: parent.bottom
+ z: 6
+ button1Label: "nmealog.txt"; button2Label: "mylm.lmx"; button3Label: "follow me"
+ button3FontColor: "pink"
+ onButton1Clicked: {
+ myPositionSource.nmeaSource = "nmealog.txt"
+ myPositionSource.start()
+ }
+ onButton2Clicked: {
+ landmarkModelAll.importFile = "mylm.lmx"
+ toolbar2.disableButton2()
+ }
+ onButton3Clicked: {
+ page.state = "Following"
+ myPositionSource.active = true
+ }
+ }
+ // states of page
+ states: [State {
+ name: "CategoryView"
+ PropertyChanges { target: map; x: -dataArea.width }
+ PropertyChanges { target: map; x: -dataArea.width }
+ PropertyChanges { target: sliderContainer; x: -dataArea.width}
+ PropertyChanges { target: landmarkCategoryListView; x: 0 }
+ }, State {
+ name: "LandmarkView"
+ PropertyChanges { target: map; x: -dataArea.width }
+ PropertyChanges { target: sliderContainer; x: -dataArea.width}
+ PropertyChanges { target: landmarkListView; x: 0 }
+ }, State {
+ name: "Following"
+ PropertyChanges { target: map; center: myPositionSource.position.coordinate}
+ PropertyChanges { target: toolbar2; button3FontColor: 'grey'}
+ PropertyChanges { target: toolbar2; button3Label: '(following)'}
+ PropertyChanges { target: myPositionSource; active: true}
+ }, State {
+ name : "NoFollowing"
+ PropertyChanges { target: toolbar2; button3FontColor: 'pink'}
+ PropertyChanges { target: toolbar2; button3Label: 'follow me'}
+ PropertyChanges { target: myPositionSource; active: false}
+ }]
+ // state-transition animations for page
+ transitions: Transition {
+ NumberAnimation { properties: "x"; duration: 500; easing.type: Easing.InOutQuad }
+ }
+} // page
diff --git a/examples/declarative/landmarkmap/landmarkmap.qrc b/examples/declarative/landmarkmap/landmarkmap.qrc
new file mode 100644
index 00000000..b7c9a160
--- /dev/null
+++ b/examples/declarative/landmarkmap/landmarkmap.qrc
@@ -0,0 +1,28 @@
+<!DOCTYPE RCC><RCC version="1.0">
+<qresource>
+ <file>landmarkmap.qml</file>
+ <file>nmealog.txt</file>
+ <file>mylm.lmx</file>
+ <file>landmarkmapcommon/ScrollBar.qml</file>
+ <file>landmarkmapcommon/Slider.qml</file>
+ <file>landmarkmapmobile/Button.qml</file>
+ <file>landmarkmapmobile/Floater.qml</file>
+ <file>landmarkmapmobile/ListDelegate.qml</file>
+ <file>landmarkmapmobile/StatusBar.qml</file>
+ <file>landmarkmapmobile/TitleBar.qml</file>
+ <file>landmarkmapmobile/ToolBar.qml</file>
+ <file>landmarkmapmobile/images/gloss.png</file>
+ <file>landmarkmapmobile/images/landmarkstar.png</file>
+ <file>landmarkmapmobile/images/lineedit.png</file>
+ <file>landmarkmapmobile/images/lineedit.sci</file>
+ <file>landmarkmapmobile/images/moon.png</file>
+ <file>landmarkmapmobile/images/quit.png</file>
+ <file>landmarkmapmobile/images/star.png</file>
+ <file>landmarkmapmobile/images/stripes.png</file>
+ <file>landmarkmapmobile/images/sun.png</file>
+ <file>landmarkmapmobile/images/titlebar.png</file>
+ <file>landmarkmapmobile/images/titlebar.sci</file>
+ <file>landmarkmapmobile/images/toolbutton.png</file>
+ <file>landmarkmapmobile/images/toolbutton.sci</file>
+</qresource>
+</RCC>
diff --git a/examples/declarative/landmarkmap/landmarkmapcommon/ScrollBar.qml b/examples/declarative/landmarkmap/landmarkmapcommon/ScrollBar.qml
new file mode 100755
index 00000000..52177a65
--- /dev/null
+++ b/examples/declarative/landmarkmap/landmarkmapcommon/ScrollBar.qml
@@ -0,0 +1,80 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Mobility Components.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+Item {
+ id: container
+
+ property variant flickableArea
+
+ Rectangle {
+ radius: 5
+ color: "black"
+ opacity: 0.3
+ border.color: "white"
+ border.width: 2
+ x: 0
+ y: flickableArea.visibleArea.yPosition * container.height
+ width: parent.width
+ height: flickableArea.visibleArea.heightRatio * container.height
+ }
+ states: [
+ State {
+ name: "show"
+ when: flickableArea.movingVertically
+ PropertyChanges {
+ target: container
+ opacity: 1
+ }
+ }
+ ]
+ transitions: [
+ Transition {
+ from: "*"
+ to: "*"
+ NumberAnimation {
+ target: container
+ properties: "opacity"
+ duration: 400
+ }
+ }
+ ]
+}
diff --git a/examples/declarative/landmarkmap/landmarkmapcommon/Slider.qml b/examples/declarative/landmarkmap/landmarkmapcommon/Slider.qml
new file mode 100755
index 00000000..9a652842
--- /dev/null
+++ b/examples/declarative/landmarkmap/landmarkmapcommon/Slider.qml
@@ -0,0 +1,81 @@
+/*/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Mobility Components.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+Item {
+ id: slider; width: 400; height: 16
+ // value is read/write.
+ property int value
+ onValueChanged: { handle.x = 2 + (value - minimum) * slider.xMax / (maximum - minimum); }
+ property real maximum: 1
+ property real minimum: 1
+ property int xMax: slider.width - handle.width-2
+ property int xMin: 2
+
+
+ Rectangle {
+ anchors.fill: parent
+ border.color: "white"; border.width: 0; radius: 8
+ gradient: Gradient {
+ GradientStop { position: 0.0; color: "#66343434" }
+ GradientStop { position: 1.0; color: "#66000000" }
+ }
+ }
+
+ Rectangle {
+ id: handle; smooth: true
+ //x: 2 + (value - minimum) * slider.xMax / (maximum - minimum)
+
+ x: slider.width / 2 - handle.width / 2;
+
+ y: 2; width: 30; height: slider.height-4; radius: 6
+ gradient: Gradient {
+ GradientStop { position: 0.0; color: "lightgray" }
+ GradientStop { position: 1.0; color: "gray" }
+ }
+
+ MouseArea {
+ anchors.fill: parent; drag.target: parent
+ drag.axis: Drag.XAxis; drag.minimumX: slider.xMin; drag.maximumX: slider.xMax
+ onPositionChanged: { value = (maximum - minimum) * (handle.x-slider.xMin) / (slider.xMax - slider.xMin) + minimum; }
+ }
+ }
+}
diff --git a/examples/declarative/landmarkmap/landmarkmapmobile/Button.qml b/examples/declarative/landmarkmap/landmarkmapmobile/Button.qml
new file mode 100755
index 00000000..3afe3bfe
--- /dev/null
+++ b/examples/declarative/landmarkmap/landmarkmapmobile/Button.qml
@@ -0,0 +1,88 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Mobility Components.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+Item {
+ id: container
+
+ signal clicked
+
+ property string text
+ property color textColor: "white"
+
+ BorderImage {
+ id: buttonImage
+ source: "images/toolbutton.sci"
+ width: container.width; height: container.height
+ }
+
+ MouseArea {
+ id: mouseRegion
+ anchors.fill: buttonImage
+ onClicked: { container.clicked(); }
+ }
+ Text {
+ id: buttonText
+ color: textColor
+ anchors.centerIn: buttonImage; font.bold: true
+ text: container.text; style: Text.Raised; styleColor: "black"
+ }
+
+ states: [
+ State {
+ name: "Pressed"
+ when: mouseRegion.pressed == true
+ PropertyChanges { target: buttonImage; opacity: 0.25 }
+ PropertyChanges { target: buttonText; opacity: 0.25 }
+ },
+ State {
+ name: "Disabled"
+ PropertyChanges{ target: buttonImage; opacity: 0 }
+ PropertyChanges{ target: buttonText; opacity: 0 }
+ }
+
+ ]
+
+ function disable() {
+ container.state = "Disabled";
+ mouseRegion.enabled = false;
+ }
+}
diff --git a/examples/declarative/landmarkmap/landmarkmapmobile/Floater.qml b/examples/declarative/landmarkmap/landmarkmapmobile/Floater.qml
new file mode 100644
index 00000000..6e583265
--- /dev/null
+++ b/examples/declarative/landmarkmap/landmarkmapmobile/Floater.qml
@@ -0,0 +1,90 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Mobility Components.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+import QtMobility.location 1.1
+
+
+Rectangle {
+ id: container
+ property int maxX: parent.width; property int maxY: parent.height
+ property double latitude
+ property double longitude
+ property int landmarks
+ property int categories
+
+ width: 180; height: 145
+ opacity: 0.7
+ border.color: "black"
+ border.width: 1
+ radius: 5
+ gradient: Gradient {
+ GradientStop {position: 0.0; color: "grey"}
+ GradientStop {position: 1.0; color: "black"}
+ }
+ MouseArea {
+ anchors.fill: parent
+ drag.target: parent
+ drag.axis: Drag.XandYAxis
+ drag.minimumX: -(parent.width * (2/3)); drag.maximumX: parent.maxX - (parent.width/3)
+ drag.minimumY: -(parent.height/2); drag.maximumY: parent.maxY - (parent.height/2)
+ }
+
+ Column {
+ id: locationGrid
+ anchors {left: parent.left; leftMargin: 5; top: parent.top; topMargin: 5}
+ spacing: 5
+ Text {color: "white"; font.bold: true
+ text: "My location:"; style: Text.Raised; styleColor: "black"
+ }
+ Text {color: "white"; font.bold: true; width: container.width - 5; elide: Text.ElideRight
+ text: "Lat: " + latitude; style: Text.Raised; styleColor: "black"
+ }
+ Text {color: "white"; font.bold: true; width: container.width - 5; elide: Text.ElideRight
+ text: "Lon: " + longitude; style: Text.Raised; styleColor: "black"
+ }
+ Text {color: "white"; font.bold: true
+ text: "Landmarks: " + landmarks; style: Text.Raised; styleColor: "black"
+ }
+ Text {color: "white"; font.bold: true
+ text: "Categories: " + categories; style: Text.Raised; styleColor: "black"
+ }
+ }
+}
diff --git a/examples/declarative/landmarkmap/landmarkmapmobile/ListDelegate.qml b/examples/declarative/landmarkmap/landmarkmapmobile/ListDelegate.qml
new file mode 100755
index 00000000..86334db5
--- /dev/null
+++ b/examples/declarative/landmarkmap/landmarkmapmobile/ListDelegate.qml
@@ -0,0 +1,66 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Mobility Components.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+ Component {
+ Item {
+ id: wrapper; width: wrapper.ListView.view.width; height: 86
+ Item {
+ id: moveMe
+ Rectangle { color: "black"; opacity: index % 2 ? 0.2 : 0.4; height: 84; width: wrapper.width; y: 1 }
+ Rectangle {
+ x: 6; y: 4; width: 76; height: 76; color: "white"; smooth: true
+
+ Image {
+ //source: imagePath;
+ source: "http://farm" + farm + ".static.flickr.com/" + server + "/" + id + "_" + secret + "_t.jpg"
+ width: parent.width; height: parent.height
+ x: 0; y: 0 }
+
+ Image { source: "images/gloss.png" }
+ }
+ Column {
+ x: 92; width: wrapper.ListView.view.width - 95; y: 15; spacing: 2
+ Text { text: title; color: "white"; width: parent.width; font.bold: true; elide: Text.ElideRight; style: Text.Raised; styleColor: "black" }
+ Text { text: datetaken; width: parent.width; elide: Text.ElideRight; color: "#cccccc"; style: Text.Raised; styleColor: "black" }
+ }
+ }
+ }
+}
diff --git a/examples/declarative/landmarkmap/landmarkmapmobile/StatusBar.qml b/examples/declarative/landmarkmap/landmarkmapmobile/StatusBar.qml
new file mode 100755
index 00000000..d8003ffd
--- /dev/null
+++ b/examples/declarative/landmarkmap/landmarkmapmobile/StatusBar.qml
@@ -0,0 +1,66 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Mobility Components.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+// At the moment unused, could accommodate e.g. satellite symbols etc.
+Item {
+ property alias text1: freeText.text
+ id: statusBar
+ BorderImage { source: "images/titlebar.sci"; width: parent.width; height: parent.height + 14; y: -7 }
+
+ Item {
+ id: container
+ width: (parent.width * 2) - 55 ; height: parent.height
+ Text {
+ id: freeText
+ anchors {
+ leftMargin: 10; rightMargin: 10;
+ verticalCenter: parent.verticalCenter
+ }
+ elide: Text.ElideLeft
+ text: ""
+ font.bold: true; color: "White"; style: Text.Raised; styleColor: "Black"
+ }
+ }
+ transitions: Transition {
+ NumberAnimation { properties: "x"; easing.type: Easing.InOutQuad }
+ }
+}
diff --git a/examples/declarative/landmarkmap/landmarkmapmobile/TitleBar.qml b/examples/declarative/landmarkmap/landmarkmapmobile/TitleBar.qml
new file mode 100755
index 00000000..43087a4f
--- /dev/null
+++ b/examples/declarative/landmarkmap/landmarkmapmobile/TitleBar.qml
@@ -0,0 +1,76 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Mobility Components.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+Item {
+ id: titleBar
+ BorderImage { source: "images/titlebar.sci"; width: parent.width; height: parent.height + 14; y: -7 }
+
+ Item {
+ id: container
+ width: (parent.width * 2) - 55 ; height: parent.height
+
+ Image {
+ id: quitButton
+ anchors.left: parent.left//; anchors.leftMargin: 0
+ anchors.verticalCenter: parent.verticalCenter
+ source: "images/quit.png"
+ MouseArea {
+ anchors.fill: parent
+ onClicked: Qt.quit()
+ }
+ }
+
+ Text {
+ id: categoryText
+ anchors {
+ left: quitButton.right; leftMargin: 10; rightMargin: 10
+ verticalCenter: parent.verticalCenter
+ }
+ elide: Text.ElideLeft
+ text: "Landmarkmap example"
+ font.bold: true; color: "White"; style: Text.Raised; styleColor: "Black"
+ }
+ }
+ transitions: Transition {
+ NumberAnimation { properties: "x"; easing.type: Easing.InOutQuad }
+ }
+}
diff --git a/examples/declarative/landmarkmap/landmarkmapmobile/ToolBar.qml b/examples/declarative/landmarkmap/landmarkmapmobile/ToolBar.qml
new file mode 100755
index 00000000..cb951ca1
--- /dev/null
+++ b/examples/declarative/landmarkmap/landmarkmapmobile/ToolBar.qml
@@ -0,0 +1,79 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Mobility Components.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+Item {
+ id: toolbar
+
+ property alias button1Label: button1.text
+ property alias button2Label: button2.text
+ property alias button3Label: button3.text
+ property alias button1FontColor: button1.textColor
+ property alias button2FontColor: button2.textColor
+ property alias button3FontColor: button3.textColor
+ signal button1Clicked
+ signal button2Clicked
+ signal button3Clicked
+
+ BorderImage { source: "images/titlebar.sci"; width: parent.width; height: parent.height + 14; y: -7 }
+
+ Button {
+ id: button1
+ anchors.left: parent.left; y: 3; width: parent.width/3; height: 32
+ onClicked: toolbar.button1Clicked()
+ }
+
+ Button {
+ id: button2
+ anchors.left: button1.right; anchors.leftMargin: 5; y: 3; width: parent.width/3 - anchors.leftMargin; height: 32
+ onClicked: toolbar.button2Clicked()
+ }
+
+ Button {
+ id: button3
+ anchors.left: button2.right; anchors.leftMargin: 5; y: 3; width: parent.width/3 - anchors.leftMargin; height: 32
+ onClicked: toolbar.button3Clicked()
+ }
+
+ function disableButton2() {
+ button2.disable();
+ }
+}
diff --git a/examples/declarative/landmarkmap/landmarkmapmobile/images/gloss.png b/examples/declarative/landmarkmap/landmarkmapmobile/images/gloss.png
new file mode 100755
index 00000000..5d370cd9
--- /dev/null
+++ b/examples/declarative/landmarkmap/landmarkmapmobile/images/gloss.png
Binary files differ
diff --git a/examples/declarative/landmarkmap/landmarkmapmobile/images/landmarkstar.png b/examples/declarative/landmarkmap/landmarkmapmobile/images/landmarkstar.png
new file mode 100644
index 00000000..d44de204
--- /dev/null
+++ b/examples/declarative/landmarkmap/landmarkmapmobile/images/landmarkstar.png
Binary files differ
diff --git a/examples/declarative/landmarkmap/landmarkmapmobile/images/lineedit.png b/examples/declarative/landmarkmap/landmarkmapmobile/images/lineedit.png
new file mode 100755
index 00000000..2cc38dc3
--- /dev/null
+++ b/examples/declarative/landmarkmap/landmarkmapmobile/images/lineedit.png
Binary files differ
diff --git a/examples/declarative/landmarkmap/landmarkmapmobile/images/lineedit.sci b/examples/declarative/landmarkmap/landmarkmapmobile/images/lineedit.sci
new file mode 100755
index 00000000..054bff78
--- /dev/null
+++ b/examples/declarative/landmarkmap/landmarkmapmobile/images/lineedit.sci
@@ -0,0 +1,5 @@
+border.left: 10
+border.top: 10
+border.bottom: 10
+border.right: 10
+source: lineedit.png
diff --git a/examples/declarative/landmarkmap/landmarkmapmobile/images/moon.png b/examples/declarative/landmarkmap/landmarkmapmobile/images/moon.png
new file mode 100755
index 00000000..9407b2b4
--- /dev/null
+++ b/examples/declarative/landmarkmap/landmarkmapmobile/images/moon.png
Binary files differ
diff --git a/examples/declarative/landmarkmap/landmarkmapmobile/images/quit.png b/examples/declarative/landmarkmap/landmarkmapmobile/images/quit.png
new file mode 100755
index 00000000..5bda1b6e
--- /dev/null
+++ b/examples/declarative/landmarkmap/landmarkmapmobile/images/quit.png
Binary files differ
diff --git a/examples/declarative/landmarkmap/landmarkmapmobile/images/star.png b/examples/declarative/landmarkmap/landmarkmapmobile/images/star.png
new file mode 100755
index 00000000..27ef9242
--- /dev/null
+++ b/examples/declarative/landmarkmap/landmarkmapmobile/images/star.png
Binary files differ
diff --git a/examples/declarative/landmarkmap/landmarkmapmobile/images/stripes.png b/examples/declarative/landmarkmap/landmarkmapmobile/images/stripes.png
new file mode 100755
index 00000000..9f36727e
--- /dev/null
+++ b/examples/declarative/landmarkmap/landmarkmapmobile/images/stripes.png
Binary files differ
diff --git a/examples/declarative/landmarkmap/landmarkmapmobile/images/sun.png b/examples/declarative/landmarkmap/landmarkmapmobile/images/sun.png
new file mode 100755
index 00000000..7713ca5c
--- /dev/null
+++ b/examples/declarative/landmarkmap/landmarkmapmobile/images/sun.png
Binary files differ
diff --git a/examples/declarative/landmarkmap/landmarkmapmobile/images/titlebar.png b/examples/declarative/landmarkmap/landmarkmapmobile/images/titlebar.png
new file mode 100755
index 00000000..51c90082
--- /dev/null
+++ b/examples/declarative/landmarkmap/landmarkmapmobile/images/titlebar.png
Binary files differ
diff --git a/examples/declarative/landmarkmap/landmarkmapmobile/images/titlebar.sci b/examples/declarative/landmarkmap/landmarkmapmobile/images/titlebar.sci
new file mode 100755
index 00000000..0418d94c
--- /dev/null
+++ b/examples/declarative/landmarkmap/landmarkmapmobile/images/titlebar.sci
@@ -0,0 +1,5 @@
+border.left: 10
+border.top: 12
+border.bottom: 12
+border.right: 10
+source: titlebar.png
diff --git a/examples/declarative/landmarkmap/landmarkmapmobile/images/toolbutton.png b/examples/declarative/landmarkmap/landmarkmapmobile/images/toolbutton.png
new file mode 100755
index 00000000..11310013
--- /dev/null
+++ b/examples/declarative/landmarkmap/landmarkmapmobile/images/toolbutton.png
Binary files differ
diff --git a/examples/declarative/landmarkmap/landmarkmapmobile/images/toolbutton.sci b/examples/declarative/landmarkmap/landmarkmapmobile/images/toolbutton.sci
new file mode 100755
index 00000000..9e4f9653
--- /dev/null
+++ b/examples/declarative/landmarkmap/landmarkmapmobile/images/toolbutton.sci
@@ -0,0 +1,5 @@
+border.left: 15
+border.top: 4
+border.bottom: 4
+border.right: 15
+source: toolbutton.png
diff --git a/examples/declarative/landmarkmap/mylm.lmx b/examples/declarative/landmarkmap/mylm.lmx
new file mode 100644
index 00000000..de205298
--- /dev/null
+++ b/examples/declarative/landmarkmap/mylm.lmx
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<lmx xmlns="http://www.nokia.com/schemas/location/landmarks/1/0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.nokia.com/schemas/location/landmarks/1/0/ lmx.xsd">
+ <landmarkCollection>
+ <landmark>
+ <name>Brisbane</name>
+ <coordinates>
+ <latitude>-27.47</latitude>
+ <longitude>153.02</longitude>
+ </coordinates>
+ </landmark>
+ <landmark>
+ <name>Sydney</name>
+ <coordinates>
+ <latitude>-33.87</latitude>
+ <longitude>151.2</longitude>
+ </coordinates>
+ </landmark>
+ <landmark>
+ <name>Canberra</name>
+ <coordinates>
+ <latitude>-35.3</latitude>
+ <longitude>149.13</longitude>
+ </coordinates>
+ </landmark>
+ <landmark>
+ <name>Adelaide</name>
+ <coordinates>
+ <latitude>-34.93</latitude>
+ <longitude>138.6</longitude>
+ </coordinates>
+ </landmark>
+ <landmark>
+ <name>Darwin</name>
+ <coordinates>
+ <latitude>-12.45</latitude>
+ <longitude>-130.83</longitude>
+ </coordinates>
+ </landmark>
+ <landmark>
+ <name>Hobart</name>
+ <coordinates>
+ <latitude>-42.88</latitude>
+ <longitude>147.32</longitude>
+ </coordinates>
+ </landmark>
+ <landmark>
+ <name>Melbourne</name>
+ <coordinates>
+ <latitude>-37.82</latitude>
+ <longitude>144.97</longitude>
+ </coordinates>
+ </landmark>
+ <landmark>
+ <name>Perth</name>
+ <coordinates>
+ <latitude>-31.95</latitude>
+ <longitude>115.85</longitude>
+ </coordinates>
+ </landmark>
+ </landmarkCollection>
+</lmx>
diff --git a/examples/declarative/landmarkmap/nmealog.txt b/examples/declarative/landmarkmap/nmealog.txt
new file mode 100755
index 00000000..8c8286dd
--- /dev/null
+++ b/examples/declarative/landmarkmap/nmealog.txt
@@ -0,0 +1,1403 @@
+$GPGGA,222437.000,2734.33926,S,15305.44310,E,1,07,1.3,50.6,M,39.2,M,,*72
+$GPGLL,2734.33926,S,15305.44310,E,222437.000,A,A*49
+$GPGSA,A,3,16,25,23,20,13,27,11,,,,,,2.3,1.3,1.9*3D
+$GPGST,222437.000,13.3,7.4,6.6,85.1,6.0,6.8,13.7*56
+$GPGSV,3,1,10,16,49,115,42,25,39,269,36,23,58,176,29,20,72,335,35*75
+$GPGSV,3,2,10,19,02,028,,04,06,241,22,13,30,223,30,27,19,284,35*78
+$GPGSV,3,3,10,11,06,337,30,03,13,055,25*7C
+$GPRMC,222437.000,A,2734.33926,S,15305.44310,E,33.9,157.8,030308,11.2,W,A*0F
+$GPVTG,157.8,T,169.0,M,33.9,N,62.9,K,A*22
+$GPGGA,222438.000,2734.34821,S,15305.44697,E,1,07,1.2,50.8,M,39.2,M,,*79
+$GPGLL,2734.34821,S,15305.44697,E,222438.000,A,A*4D
+$GPGSA,A,3,16,25,23,20,13,27,03,,,,,,2.1,1.2,1.7*33
+$GPGST,222438.000,12.4,6.4,9.3,16.2,6.1,8.3,16.4*5F
+$GPGSV,3,1,10,16,49,115,41,25,39,269,36,23,58,176,28,20,72,335,36*74
+$GPGSV,3,2,10,19,02,028,,04,06,241,20,13,30,223,28,27,19,284,35*73
+$GPGSV,3,3,10,11,06,337,28,03,13,055,25*75
+$GPRMC,222438.000,A,2734.34821,S,15305.44697,E,33.8,158.3,030308,11.2,W,A*0E
+$GPVTG,158.3,T,169.5,M,33.8,N,62.5,K,A*2E
+$GPGGA,222439.000,2734.35696,S,15305.45072,E,1,06,1.7,51.2,M,39.2,M,,*78
+$GPGLL,2734.35696,S,15305.45072,E,222439.000,A,A*43
+$GPGSA,A,3,16,25,23,20,13,27,,,,,,,3.3,1.7,2.8*3A
+$GPGST,222439.000,10.3,9.1,12.2,44.6,9.8,9.9,25.2*62
+$GPGSV,3,1,10,16,49,115,34,25,39,269,36,23,58,175,29,20,72,335,35*77
+$GPGSV,3,2,10,19,02,028,,04,06,241,20,13,30,223,27,27,19,284,32*7B
+$GPGSV,3,3,10,11,06,337,28,03,14,055,25*72
+$GPRMC,222439.000,A,2734.35696,S,15305.45072,E,33.2,158.7,030308,11.2,W,A*0E
+$GPVTG,158.7,T,169.9,M,33.2,N,61.5,K,A*2F
+$GPGGA,222440.000,2734.36580,S,15305.45446,E,1,07,1.3,52.0,M,39.2,M,,*76
+$GPGLL,2734.36580,S,15305.45446,E,222440.000,A,A*49
+$GPGSA,A,3,16,25,23,20,13,27,11,,,,,,2.3,1.3,1.9*3D
+$GPGST,222440.000,13.0,8.0,13.4,6.2,7.4,12.2,20.9*64
+$GPGSV,3,1,10,16,49,115,40,25,39,269,38,23,58,175,31,20,72,335,34*72
+$GPGSV,3,2,10,19,02,028,,04,06,241,20,13,30,223,26,27,19,284,30*78
+$GPGSV,3,3,10,11,06,337,26,03,14,055,25*7C
+$GPRMC,222440.000,A,2734.36580,S,15305.45446,E,33.7,159.1,030308,11.2,W,A*06
+$GPVTG,159.1,T,170.3,M,33.7,N,62.4,K,A*2D
+$GPGGA,222441.000,2734.37483,S,15305.45825,E,1,07,1.3,52.7,M,39.2,M,,*7A
+$GPGLL,2734.37483,S,15305.45825,E,222441.000,A,A*42
+$GPGSA,A,3,16,25,23,20,13,27,11,,,,,,2.3,1.3,1.9*3D
+$GPGST,222441.000,14.0,7.6,14.1,17.6,7.7,12.5,21.0*51
+$GPGSV,3,1,10,16,49,115,41,25,39,269,39,23,58,175,29,20,72,335,35*7A
+$GPGSV,3,2,10,19,02,028,,04,06,241,20,13,30,223,24,27,19,284,30*7A
+$GPGSV,3,3,10,11,06,337,28,03,14,055,25*72
+$GPRMC,222441.000,A,2734.37483,S,15305.45825,E,34.6,159.4,030308,11.2,W,A*0E
+$GPVTG,159.4,T,170.6,M,34.6,N,64.1,K,A*28
+$GPGGA,222442.000,2734.38407,S,15305.46216,E,1,06,1.3,53.3,M,39.2,M,,*77
+$GPGLL,2734.38407,S,15305.46216,E,222442.000,A,A*4B
+$GPGSA,A,3,16,25,20,13,27,11,,,,,,,2.3,1.3,1.9*3C
+$GPGST,222442.000,16.6,7.0,14.4,14.6,7.0,12.8,21.6*5A
+$GPGSV,3,1,10,16,49,115,40,25,39,269,38,23,58,175,22,20,72,335,35*71
+$GPGSV,3,2,10,19,02,028,,04,06,241,20,13,30,223,25,27,19,284,29*73
+$GPGSV,3,3,10,11,06,337,27,03,14,055,25*7D
+$GPRMC,222442.000,A,2734.38407,S,15305.46216,E,35.5,159.3,030308,11.2,W,A*02
+$GPVTG,159.3,T,170.5,M,35.5,N,65.8,K,A*26
+$GPGGA,222443.000,2734.39347,S,15305.46609,E,1,05,1.8,53.8,M,39.2,M,,*7D
+$GPGLL,2734.39347,S,15305.46609,E,222443.000,A,A*42
+$GPGSA,A,3,16,25,20,27,11,,,,,,,,2.8,1.8,2.1*35
+$GPGST,222443.000,11.3,6.5,14.6,14.5,6.6,13.0,18.4*5A
+$GPGSV,3,1,10,16,49,115,40,25,39,269,38,23,58,175,22,20,72,335,36*72
+$GPGSV,3,2,10,19,02,028,,04,06,241,20,13,30,223,26,27,19,284,31*79
+$GPGSV,3,3,10,11,06,337,28,03,14,055,25*72
+$GPRMC,222443.000,A,2734.39347,S,15305.46609,E,36.2,159.4,030308,11.2,W,A*08
+$GPVTG,159.4,T,170.6,M,36.2,N,67.0,K,A*2C
+$GPGGA,222444.000,2734.40297,S,15305.47000,E,1,06,1.3,54.1,M,39.2,M,,*70
+$GPGLL,2734.40297,S,15305.47000,E,222444.000,A,A*49
+$GPGSA,A,3,16,25,20,13,27,11,,,,,,,2.3,1.3,1.9*3C
+$GPGST,222444.000,17.6,6.3,12.7,14.4,6.3,11.4,16.2*55
+$GPGSV,3,1,10,16,49,115,38,25,39,269,38,23,58,175,22,20,72,335,35*7E
+$GPGSV,3,2,10,19,02,028,,04,06,241,20,13,30,223,25,27,19,284,29*73
+$GPGSV,3,3,10,11,06,337,25,03,14,055,23*79
+$GPRMC,222444.000,A,2734.40297,S,15305.47000,E,36.5,159.5,030308,11.2,W,A*05
+$GPVTG,159.5,T,170.8,M,36.5,N,67.5,K,A*21
+$GPGGA,222445.000,2734.41247,S,15305.47390,E,1,07,1.3,54.2,M,39.2,M,,*75
+$GPGLL,2734.41247,S,15305.47390,E,222445.000,A,A*4E
+$GPGSA,A,3,16,25,23,20,13,27,11,,,,,,2.3,1.3,1.9*3D
+$GPGST,222445.000,16.0,7.0,14.4,10.4,6.7,13.0,20.7*52
+$GPGSV,3,1,10,16,49,115,36,25,39,269,36,23,58,175,22,20,72,335,34*7F
+$GPGSV,3,2,10,19,02,028,,04,06,241,20,13,30,223,26,27,19,284,31*79
+$GPGSV,3,3,10,11,06,337,26,03,14,055,23*7A
+$GPRMC,222445.000,A,2734.41247,S,15305.47390,E,36.6,159.7,030308,11.2,W,A*03
+$GPVTG,159.7,T,170.9,M,36.6,N,67.8,K,A*2C
+$GPGGA,222446.000,2734.42201,S,15305.47790,E,1,07,1.3,54.4,M,39.2,M,,*75
+$GPGLL,2734.42201,S,15305.47790,E,222446.000,A,A*48
+$GPGSA,A,3,16,25,23,20,13,27,11,,,,,,2.3,1.3,1.9*3D
+$GPGST,222446.000,13.0,7.4,12.3,6.6,6.9,11.2,17.9*60
+$GPGSV,3,1,10,16,49,115,36,25,39,269,37,23,58,175,27,20,72,335,35*7A
+$GPGSV,3,2,10,19,02,028,,04,06,241,23,13,30,223,30,27,19,284,32*7E
+$GPGSV,3,3,10,11,06,337,27,03,14,055,23*7B
+$GPRMC,222446.000,A,2734.42201,S,15305.47790,E,36.6,159.3,030308,11.2,W,A*01
+$GPVTG,159.3,T,170.5,M,36.6,N,67.7,K,A*2B
+$GPGGA,222447.000,2734.43157,S,15305.48195,E,1,07,1.3,54.3,M,39.2,M,,*7E
+$GPGLL,2734.43157,S,15305.48195,E,222447.000,A,A*44
+$GPGSA,A,3,16,25,23,20,13,27,11,,,,,,2.3,1.3,1.9*3D
+$GPGST,222447.000,10.7,6.7,10.5,6.6,6.2,9.6,15.5*5B
+$GPGSV,3,1,11,16,49,115,32,25,39,269,37,23,58,175,28,20,72,335,33*76
+$GPGSV,3,2,11,19,02,028,,04,06,241,23,13,30,223,30,27,19,284,32*7F
+$GPGSV,3,3,11,11,06,337,29,01,,,19,03,14,055,23*7D
+$GPRMC,222447.000,A,2734.43157,S,15305.48195,E,36.7,159.1,030308,11.2,W,A*0E
+$GPVTG,159.1,T,170.3,M,36.7,N,67.9,K,A*20
+$GPGGA,222448.000,2734.44111,S,15305.48610,E,1,08,1.1,54.1,M,39.2,M,,*71
+$GPGLL,2734.44111,S,15305.48610,E,222448.000,A,A*44
+$GPGSA,A,3,16,25,23,20,13,27,11,03,,,,,2.0,1.1,1.6*30
+$GPGST,222448.000,20.4,10.5,8.8,52.5,8.7,9.1,15.2*6C
+$GPGSV,3,1,11,16,49,115,27,25,39,269,38,23,58,175,26,20,72,335,31*71
+$GPGSV,3,2,11,19,02,028,,04,06,241,23,13,30,223,37,27,19,284,27*7C
+$GPGSV,3,3,11,11,06,337,27,01,,,19,03,14,055,23*73
+$GPRMC,222448.000,A,2734.44111,S,15305.48610,E,36.8,158.7,030308,11.2,W,A*06
+$GPVTG,158.7,T,169.9,M,36.8,N,68.2,K,A*2E
+$GPGGA,222449.000,2734.45068,S,15305.49044,E,1,08,1.1,53.6,M,39.2,M,,*78
+$GPGLL,2734.45068,S,15305.49044,E,222449.000,A,A*4D
+$GPGSA,A,3,16,25,23,20,13,27,11,03,,,,,2.0,1.1,1.6*30
+$GPGST,222449.000,17.1,8.8,10.2,14.2,8.2,9.3,17.4*6D
+$GPGSV,3,1,11,16,49,115,28,25,39,269,37,23,58,175,25,20,72,335,28*7A
+$GPGSV,3,2,11,19,02,028,,04,06,241,23,13,30,223,37,27,19,284,32*78
+$GPGSV,3,3,11,11,06,337,27,01,,,19,03,14,055,24*74
+$GPRMC,222449.000,A,2734.45068,S,15305.49044,E,37.2,157.8,030308,11.2,W,A*04
+$GPVTG,157.8,T,169.0,M,37.2,N,68.9,K,A*27
+$GPGGA,222450.000,2734.46041,S,15305.49485,E,1,08,1.1,53.3,M,39.2,M,,*74
+$GPGLL,2734.46041,S,15305.49485,E,222450.000,A,A*44
+$GPGSA,A,3,16,25,23,20,13,27,11,03,,,,,2.0,1.1,1.6*30
+$GPGST,222450.000,17.4,8.9,12.7,10.1,11.5,8.2,16.5*5E
+$GPGSV,3,1,11,16,49,115,25,25,39,269,36,23,58,175,30,20,72,336,28*71
+$GPGSV,3,2,11,19,02,028,,04,06,241,21,13,30,223,38,27,19,284,34*73
+$GPGSV,3,3,11,11,06,337,27,01,,,19,03,14,055,22*72
+$GPRMC,222450.000,A,2734.46041,S,15305.49485,E,37.7,157.9,030308,11.2,W,A*09
+$GPVTG,157.9,T,169.1,M,37.7,N,69.8,K,A*22
+$GPGGA,222451.000,2734.47033,S,15305.49924,E,1,08,1.1,53.1,M,39.2,M,,*75
+$GPGLL,2734.47033,S,15305.49924,E,222451.000,A,A*47
+$GPGSA,A,3,16,25,23,20,13,27,11,03,,,,,2.0,1.1,1.6*30
+$GPGST,222451.000,14.1,8.0,10.5,14.3,9.5,7.5,15.0*61
+$GPGSV,3,1,11,16,49,115,27,25,39,269,38,23,58,175,28,20,72,336,25*79
+$GPGSV,3,2,11,19,02,028,,04,06,241,21,13,30,223,38,27,19,284,34*73
+$GPGSV,3,3,11,11,06,337,24,01,,,19,03,14,055,25*76
+$GPRMC,222451.000,A,2734.47033,S,15305.49924,E,38.1,158.1,030308,11.2,W,A*04
+$GPVTG,158.1,T,169.3,M,38.1,N,70.5,K,A*2B
+$GPGGA,222452.000,2734.48022,S,15305.50375,E,1,08,1.1,52.5,M,39.2,M,,*7A
+$GPGLL,2734.48022,S,15305.50375,E,222452.000,A,A*4D
+$GPGSA,A,3,16,25,23,20,13,27,11,03,,,,,2.0,1.1,1.6*30
+$GPGST,222452.000,24.1,13.9,9.7,80.6,12.7,9.0,21.0*54
+$GPGSV,3,1,11,16,49,115,29,25,39,269,38,23,58,175,27,20,72,336,30*7C
+$GPGSV,3,2,11,19,02,028,,04,06,241,21,13,30,223,35,27,19,284,34*7E
+$GPGSV,3,3,11,11,06,337,22,01,,,19,03,14,055,24*71
+$GPRMC,222452.000,A,2734.48022,S,15305.50375,E,38.3,157.9,030308,11.2,W,A*0B
+$GPVTG,157.9,T,169.1,M,38.3,N,70.9,K,A*20
+$GPGGA,222453.000,2734.49019,S,15305.50802,E,1,06,1.7,52.1,M,39.2,M,,*75
+$GPGLL,2734.49019,S,15305.50802,E,222453.000,A,A*4E
+$GPGSA,A,3,16,25,23,20,13,27,,,,,,,3.3,1.7,2.8*3A
+$GPGST,222453.000,10.4,15.4,9.3,66.3,13.4,9.6,24.6*52
+$GPGSV,3,1,11,16,49,115,31,25,39,269,36,23,58,175,28,20,71,336,25*73
+$GPGSV,3,2,11,19,02,028,,04,06,241,21,13,30,223,33,27,19,284,31*7D
+$GPGSV,3,3,11,11,06,337,22,01,,,19,03,14,055,24*71
+$GPRMC,222453.000,A,2734.49019,S,15305.50802,E,38.3,159.1,030308,11.2,W,A*0E
+$GPVTG,159.1,T,170.3,M,38.3,N,70.9,K,A*2C
+$GPGGA,222454.000,2734.50008,S,15305.51221,E,1,07,1.3,52.1,M,39.2,M,,*75
+$GPGLL,2734.50008,S,15305.51221,E,222454.000,A,A*4B
+$GPGSA,A,3,16,25,23,20,13,27,11,,,,,,2.3,1.3,1.9*3D
+$GPGST,222454.000,12.5,11.7,8.3,70.6,10.4,8.0,19.0*5E
+$GPGSV,3,1,11,16,49,115,30,25,39,269,36,23,58,175,26,20,71,336,28*71
+$GPGSV,3,2,11,19,02,028,,04,06,241,21,13,30,223,32,27,19,284,30*7D
+$GPGSV,3,3,11,11,06,337,24,01,,,18,03,14,055,24*76
+$GPRMC,222454.000,A,2734.50008,S,15305.51221,E,38.1,159.4,030308,11.2,W,A*0C
+$GPVTG,159.4,T,170.6,M,38.1,N,70.5,K,A*22
+$GPGGA,222455.000,2734.50992,S,15305.51642,E,1,07,1.3,52.2,M,39.2,M,,*7C
+$GPGLL,2734.50992,S,15305.51642,E,222455.000,A,A*41
+$GPGSA,A,3,16,25,23,20,13,27,11,,,,,,2.3,1.3,1.9*3D
+$GPGST,222455.000,11.5,10.8,9.3,83.5,9.9,8.6,23.3*65
+$GPGSV,3,1,11,16,49,115,33,25,39,269,36,23,58,175,32,20,71,336,31*7F
+$GPGSV,3,2,11,19,02,028,,04,06,241,21,13,30,223,29,27,19,284,29*7F
+$GPGSV,3,3,11,11,06,337,28,01,,,18,03,14,055,24*7A
+$GPRMC,222455.000,A,2734.50992,S,15305.51642,E,37.8,159.0,030308,11.2,W,A*04
+$GPVTG,159.0,T,170.2,M,37.8,N,70.0,K,A*21
+$GPGGA,222456.000,2734.51963,S,15305.52059,E,1,07,1.3,52.5,M,39.2,M,,*78
+$GPGLL,2734.51963,S,15305.52059,E,222456.000,A,A*42
+$GPGSA,A,3,16,25,23,20,13,27,11,,,,,,2.3,1.3,1.9*3D
+$GPGST,222456.000,11.3,9.0,13.1,11.0,8.4,11.9,20.9*55
+$GPGSV,3,1,11,16,49,115,31,25,39,269,37,23,58,175,27,20,71,336,33*7A
+$GPGSV,3,2,11,19,02,028,,04,06,241,19,13,30,223,29,27,19,284,32*7E
+$GPGSV,3,3,11,11,06,337,30,01,,,18,03,14,055,24*73
+$GPRMC,222456.000,A,2734.51963,S,15305.52059,E,37.3,158.8,030308,11.2,W,A*05
+$GPVTG,158.8,T,170.0,M,37.3,N,69.1,K,A*28
+$GPGGA,222457.000,2734.52908,S,15305.52467,E,1,06,1.3,53.2,M,39.2,M,,*79
+$GPGLL,2734.52908,S,15305.52467,E,222457.000,A,A*44
+$GPGSA,A,3,16,25,20,13,27,11,,,,,,,2.3,1.3,1.9*3C
+$GPGST,222457.000,20.4,7.8,12.0,8.1,7.3,10.9,17.9*63
+$GPGSV,3,1,11,16,49,115,37,25,39,269,37,23,58,175,24,20,71,336,35*79
+$GPGSV,3,2,11,19,02,028,,04,06,241,19,13,30,223,29,27,19,284,32*7E
+$GPGSV,3,3,11,11,06,337,28,01,,,18,03,14,055,23*7D
+$GPRMC,222457.000,A,2734.52908,S,15305.52467,E,36.2,158.7,030308,11.2,W,A*0C
+$GPVTG,158.7,T,169.9,M,36.2,N,67.1,K,A*28
+$GPGGA,222458.000,2734.53845,S,15305.52866,E,1,06,1.6,54.2,M,39.2,M,,*70
+$GPGLL,2734.53845,S,15305.52866,E,222458.000,A,A*4F
+$GPGSA,A,3,16,25,23,20,27,11,,,,,,,2.6,1.6,2.1*34
+$GPGST,222458.000,16.7,7.3,13.9,11.0,7.0,12.5,17.9*5D
+$GPGSV,3,1,11,16,49,115,36,25,39,269,37,23,58,175,24,20,71,336,35*78
+$GPGSV,3,2,11,19,02,028,19,04,06,241,19,13,30,223,26,27,19,284,31*7A
+$GPGSV,3,3,11,11,06,337,23,01,,,18,03,14,055,23*76
+$GPRMC,222458.000,A,2734.53845,S,15305.52866,E,35.9,159.1,030308,11.2,W,A*08
+$GPVTG,159.1,T,170.3,M,35.9,N,66.5,K,A*20
+$GPGGA,222459.000,2734.54772,S,15305.53309,E,1,08,1.1,55.6,M,39.2,M,,*72
+$GPGLL,2734.54772,S,15305.53309,E,222459.000,A,A*41
+$GPGSA,A,3,16,25,23,20,13,27,11,03,,,,,2.0,1.1,1.6*30
+$GPGST,222459.000,17.5,6.5,9.3,15.5,6.1,8.3,15.2*5C
+$GPGSV,3,1,11,16,49,115,38,25,39,268,36,23,58,175,35,20,71,336,35*76
+$GPGSV,3,2,11,19,02,028,19,04,06,241,19,13,30,223,33,27,19,284,34*7B
+$GPGSV,3,3,11,11,06,337,29,01,,,18,03,14,055,22*7D
+$GPRMC,222459.000,A,2734.54772,S,15305.53309,E,35.9,156.8,030308,11.2,W,A*00
+$GPVTG,156.8,T,168.0,M,35.9,N,66.4,K,A*2D
+$GPGGA,222500.000,2734.55655,S,15305.53845,E,1,08,1.1,56.1,M,39.2,M,,*7D
+$GPGLL,2734.55655,S,15305.53845,E,222500.000,A,A*4A
+$GPGSA,A,3,16,25,23,20,13,27,11,03,,,,,2.0,1.1,1.6*30
+$GPGST,222500.000,14.5,9.8,7.9,83.3,7.3,9.0,14.3*5C
+$GPGSV,3,1,11,16,49,115,36,25,39,268,31,23,58,175,39,20,71,336,33*75
+$GPGSV,3,2,11,19,02,028,21,04,06,241,19,13,30,223,30,27,19,284,29*7F
+$GPGSV,3,3,11,11,06,337,25,01,,,18,03,14,055,28*7B
+$GPRMC,222500.000,A,2734.55655,S,15305.53845,E,35.9,151.6,030308,11.2,W,A*02
+$GPVTG,151.6,T,162.8,M,35.9,N,66.5,K,A*27
+$GPGGA,222501.000,2734.56495,S,15305.54489,E,1,08,1.1,57.0,M,39.2,M,,*7A
+$GPGLL,2734.56495,S,15305.54489,E,222501.000,A,A*4D
+$GPGSA,A,3,16,25,23,20,13,27,11,03,,,,,2.0,1.1,1.6*30
+$GPGST,222501.000,14.3,8.0,10.9,27.0,8.0,9.5,15.6*64
+$GPGSV,3,1,11,16,49,115,41,25,39,268,31,23,58,175,36,20,71,336,31*78
+$GPGSV,3,2,11,19,02,028,21,04,06,241,19,13,30,223,27,27,19,284,29*79
+$GPGSV,3,3,11,11,06,337,22,01,,,18,03,14,055,31*74
+$GPRMC,222501.000,A,2734.56495,S,15305.54489,E,36.5,145.7,030308,11.2,W,A*0E
+$GPVTG,145.7,T,156.9,M,36.5,N,67.5,K,A*2B
+$GPGGA,222502.000,2734.57337,S,15305.55181,E,1,06,1.5,57.9,M,39.2,M,,*78
+$GPGLL,2734.57337,S,15305.55181,E,222502.000,A,A*4C
+$GPGSA,A,3,16,25,23,20,27,03,,,,,,,2.5,1.5,2.0*36
+$GPGST,222502.000,14.5,7.0,11.9,20.7,7.1,10.5,15.0*5F
+$GPGSV,3,1,11,16,49,115,43,25,39,268,35,23,58,175,37,20,71,336,34*7A
+$GPGSV,3,2,11,19,02,028,21,04,06,241,19,13,30,223,23,27,19,284,33*76
+$GPGSV,3,3,11,11,06,337,22,01,,,18,03,14,055,34*71
+$GPRMC,222502.000,A,2734.57337,S,15305.55181,E,37.4,143.8,030308,11.2,W,A*06
+$GPVTG,143.8,T,155.0,M,37.4,N,69.3,K,A*20
+$GPGGA,222503.000,2734.58184,S,15305.55887,E,1,08,1.1,58.5,M,39.2,M,,*7A
+$GPGLL,2734.58184,S,15305.55887,E,222503.000,A,A*47
+$GPGSA,A,3,16,25,23,20,13,27,11,03,,,,,2.0,1.1,1.6*30
+$GPGST,222503.000,13.4,6.4,14.1,0.3,5.9,12.9,21.5*60
+$GPGSV,3,1,11,16,49,115,43,25,39,268,35,23,58,175,38,20,71,336,35*74
+$GPGSV,3,2,11,19,02,028,19,04,06,241,19,13,30,223,23,27,19,284,32*7C
+$GPGSV,3,3,11,11,06,337,26,01,,,17,03,14,055,34*7A
+$GPRMC,222503.000,A,2734.58184,S,15305.55887,E,37.8,143.4,030308,11.2,W,A*0D
+$GPVTG,143.4,T,154.6,M,37.8,N,70.0,K,A*2C
+$GPGGA,222504.000,2734.59032,S,15305.56580,E,1,07,1.2,58.9,M,39.2,M,,*79
+$GPGLL,2734.59032,S,15305.56580,E,222504.000,A,A*44
+$GPGSA,A,3,16,25,23,20,13,27,03,,,,,,2.1,1.2,1.7*33
+$GPGST,222504.000,24.6,6.2,13.3,3.6,5.7,12.2,20.2*67
+$GPGSV,3,1,11,16,49,115,43,25,39,268,35,23,58,175,39,20,71,336,35*75
+$GPGSV,3,2,11,19,02,028,19,04,06,241,19,13,30,223,22,27,19,284,31*7E
+$GPGSV,3,3,11,11,06,337,25,01,,,17,03,14,055,30*7D
+$GPRMC,222504.000,A,2734.59032,S,15305.56580,E,37.6,143.6,030308,11.2,W,A*02
+$GPVTG,143.6,T,154.8,M,37.6,N,69.7,K,A*21
+$GPGGA,222505.000,2734.59874,S,15305.57271,E,1,06,1.5,59.4,M,39.2,M,,*70
+$GPGLL,2734.59874,S,15305.57271,E,222505.000,A,A*47
+$GPGSA,A,3,16,25,23,20,27,03,,,,,,,2.5,1.5,2.0*36
+$GPGST,222505.000,17.4,5.5,11.8,3.4,5.0,10.8,17.3*61
+$GPGSV,3,1,11,16,49,115,44,25,39,268,35,23,58,175,39,20,71,336,36*71
+$GPGSV,3,2,11,19,02,028,21,04,06,241,19,13,30,223,24,27,19,284,31*73
+$GPGSV,3,3,11,11,06,337,,01,,,17,03,14,055,29*72
+$GPRMC,222505.000,A,2734.59874,S,15305.57271,E,37.3,143.7,030308,11.2,W,A*05
+$GPVTG,143.7,T,154.9,M,37.3,N,69.1,K,A*22
+$GPGGA,222506.000,2734.60703,S,15305.57943,E,1,07,1.2,60.1,M,39.2,M,,*75
+$GPGLL,2734.60703,S,15305.57943,E,222506.000,A,A*4B
+$GPGSA,A,3,16,25,23,20,13,27,03,,,,,,2.1,1.2,1.7*33
+$GPGST,222506.000,16.1,6.2,11.7,15.3,6.1,10.4,17.4*54
+$GPGSV,3,1,11,16,49,115,43,25,39,268,34,23,58,175,37,20,71,336,36*79
+$GPGSV,3,2,11,19,02,028,21,04,06,241,,13,30,223,24,27,19,284,31*7B
+$GPGSV,3,3,11,11,06,337,,01,,,17,03,14,055,28*73
+$GPRMC,222506.000,A,2734.60703,S,15305.57943,E,36.5,143.9,030308,11.2,W,A*00
+$GPVTG,143.9,T,155.1,M,36.5,N,67.6,K,A*2B
+$GPGGA,222507.000,2734.61507,S,15305.58593,E,1,07,1.2,60.9,M,39.2,M,,*75
+$GPGLL,2734.61507,S,15305.58593,E,222507.000,A,A*43
+$GPGSA,A,3,16,25,23,20,13,27,03,,,,,,2.1,1.2,1.7*33
+$GPGST,222507.000,14.0,6.8,11.8,10.9,6.4,10.7,18.5*54
+$GPGSV,3,1,11,16,49,115,43,25,39,268,34,23,58,175,37,20,71,336,34*7B
+$GPGSV,3,2,11,19,02,028,21,04,06,241,,13,30,223,29,27,19,284,34*73
+$GPGSV,3,3,11,11,06,337,,01,,,17,03,14,055,29*72
+$GPRMC,222507.000,A,2734.61507,S,15305.58593,E,35.4,143.9,030308,11.2,W,A*0A
+$GPVTG,143.9,T,155.1,M,35.4,N,65.5,K,A*28
+$GPGGA,222508.000,2734.62275,S,15305.59221,E,1,06,1.7,61.8,M,39.2,M,,*70
+$GPGLL,2734.62275,S,15305.59221,E,222508.000,A,A*42
+$GPGSA,A,3,16,25,23,20,13,27,,,,,,,3.3,1.7,2.8*3A
+$GPGST,222508.000,12.5,9.3,16.3,19.5,9.4,14.4,27.5*51
+$GPGSV,3,1,11,16,49,115,43,25,39,268,33,23,58,175,38,20,71,336,31*76
+$GPGSV,3,2,11,19,02,028,21,04,06,241,,13,30,223,30,27,19,284,35*7A
+$GPGSV,3,3,11,11,06,337,,01,,,17,03,14,055,28*73
+$GPRMC,222508.000,A,2734.62275,S,15305.59221,E,33.9,143.9,030308,11.2,W,A*00
+$GPVTG,143.9,T,155.1,M,33.9,N,62.9,K,A*28
+$GPGGA,222509.000,2734.63006,S,15305.59817,E,1,06,1.7,62.7,M,39.2,M,,*75
+$GPGLL,2734.63006,S,15305.59817,E,222509.000,A,A*4B
+$GPGSA,A,3,16,25,23,20,13,27,,,,,,,3.3,1.7,2.8*3A
+$GPGST,222509.000,10.4,8.1,14.2,21.9,8.4,12.3,23.7*52
+$GPGSV,3,1,11,16,49,115,44,25,39,268,32,23,58,175,37,20,71,336,29*76
+$GPGSV,3,2,11,19,02,028,21,04,06,241,,13,30,223,28,27,19,284,35*73
+$GPGSV,3,3,11,11,06,337,,01,,,17,03,14,055,30*7A
+$GPRMC,222509.000,A,2734.63006,S,15305.59817,E,32.2,143.9,030308,11.2,W,A*03
+$GPVTG,143.9,T,155.1,M,32.2,N,59.7,K,A*24
+$GPGGA,222510.000,2734.63706,S,15305.60376,E,1,06,1.7,63.5,M,39.2,M,,*7F
+$GPGLL,2734.63706,S,15305.60376,E,222510.000,A,A*42
+$GPGSA,A,3,16,25,23,20,13,27,,,,,,,3.3,1.7,2.8*3A
+$GPGST,222510.000,12.4,8.3,12.9,28.0,8.7,11.0,21.6*57
+$GPGSV,3,1,11,16,48,115,43,25,39,268,32,23,58,175,37,20,71,336,29*70
+$GPGSV,3,2,11,19,02,028,20,04,06,241,,13,30,223,31,27,19,284,35*7A
+$GPGSV,3,3,11,11,06,337,,01,,,17,03,14,055,25*7E
+$GPRMC,222510.000,A,2734.63706,S,15305.60376,E,30.6,144.3,030308,11.2,W,A*01
+$GPVTG,144.3,T,155.5,M,30.6,N,56.7,K,A*24
+$GPGGA,222511.000,2734.64376,S,15305.60904,E,1,07,1.2,64.4,M,39.2,M,,*77
+$GPGLL,2734.64376,S,15305.60904,E,222511.000,A,A*48
+$GPGSA,A,3,16,25,23,20,13,27,03,,,,,,2.1,1.2,1.7*33
+$GPGST,222511.000,14.6,5.7,10.5,2.7,5.2,9.6,15.0*5C
+$GPGSV,3,1,11,16,48,115,44,25,39,268,32,23,58,175,37,20,71,336,28*76
+$GPGSV,3,2,11,19,02,028,20,04,06,241,23,13,30,223,29,27,19,284,36*71
+$GPGSV,3,3,11,11,06,337,,01,,,17,03,14,055,29*72
+$GPRMC,222511.000,A,2734.64376,S,15305.60904,E,29.1,144.2,030308,11.2,W,A*05
+$GPVTG,144.2,T,155.4,M,29.1,N,53.9,K,A*20
+$GPGGA,222512.000,2734.64992,S,15305.61405,E,1,07,1.2,65.4,M,39.2,M,,*78
+$GPGLL,2734.64992,S,15305.61405,E,222512.000,A,A*46
+$GPGSA,A,3,16,25,23,20,13,27,03,,,,,,2.1,1.2,1.7*33
+$GPGST,222512.000,13.4,17.0,5.7,85.6,5.3,15.5,23.6*5A
+$GPGSV,3,1,11,16,48,115,45,25,39,268,33,23,58,175,38,20,71,336,28*79
+$GPGSV,3,2,11,19,02,028,20,04,06,241,23,13,30,223,26,27,19,284,33*7B
+$GPGSV,3,3,11,11,06,337,24,01,,,17,03,14,055,27*7A
+$GPRMC,222512.000,A,2734.64992,S,15305.61405,E,27.2,143.6,030308,11.2,W,A*05
+$GPVTG,143.6,T,154.8,M,27.2,N,50.5,K,A*2C
+$GPGGA,222513.000,2734.65572,S,15305.61884,E,1,07,1.2,66.2,M,39.2,M,,*7A
+$GPGLL,2734.65572,S,15305.61884,E,222513.000,A,A*41
+$GPGSA,A,3,16,25,23,20,13,27,03,,,,,,2.1,1.2,1.7*33
+$GPGST,222513.000,12.3,7.0,14.8,2.4,6.5,13.5,21.4*6D
+$GPGSV,3,1,10,16,48,115,44,25,39,268,35,23,58,175,38,20,71,336,28*7F
+$GPGSV,3,2,10,19,02,028,20,04,06,241,23,13,30,223,23,27,19,284,33*7F
+$GPGSV,3,3,10,11,06,337,24,03,14,055,28*73
+$GPRMC,222513.000,A,2734.65572,S,15305.61884,E,25.8,143.6,030308,11.2,W,A*0A
+$GPVTG,143.6,T,154.8,M,25.8,N,47.9,K,A*2E
+$GPGGA,222514.000,2734.66155,S,15305.62364,E,1,06,1.5,67.0,M,39.2,M,,*7C
+$GPGLL,2734.66155,S,15305.62364,E,222514.000,A,A*42
+$GPGSA,A,3,16,25,23,20,27,03,,,,,,,2.5,1.5,2.0*36
+$GPGST,222514.000,25.5,6.1,14.4,3.1,5.6,13.2,19.2*6A
+$GPGSV,3,1,10,16,48,115,44,25,39,268,33,23,58,175,38,20,71,336,26*77
+$GPGSV,3,2,10,19,02,028,18,04,06,241,23,13,30,223,23,27,19,284,34*73
+$GPGSV,3,3,10,11,06,337,28,03,14,055,29*7E
+$GPRMC,222514.000,A,2734.66155,S,15305.62364,E,25.9,143.6,030308,11.2,W,A*08
+$GPVTG,143.6,T,154.8,M,25.9,N,48.0,K,A*29
+$GPGGA,222515.000,2734.66761,S,15305.62860,E,1,06,1.5,67.5,M,39.2,M,,*76
+$GPGLL,2734.66761,S,15305.62860,E,222515.000,A,A*4D
+$GPGSA,A,3,16,25,23,20,27,03,,,,,,,2.5,1.5,2.0*36
+$GPGST,222515.000,20.1,5.5,13.0,3.0,5.1,11.8,17.4*68
+$GPGSV,3,1,10,16,48,115,44,25,39,268,32,23,58,175,38,20,71,336,26*76
+$GPGSV,3,2,10,19,02,028,18,04,06,241,23,13,30,223,24,27,19,284,34*74
+$GPGSV,3,3,10,11,06,337,28,03,14,055,24*73
+$GPRMC,222515.000,A,2734.66761,S,15305.62860,E,26.9,143.7,030308,11.2,W,A*05
+$GPVTG,143.7,T,154.9,M,26.9,N,49.8,K,A*23
+$GPGGA,222516.000,2734.67384,S,15305.63376,E,1,06,1.5,68.2,M,39.2,M,,*7E
+$GPGLL,2734.67384,S,15305.63376,E,222516.000,A,A*4D
+$GPGSA,A,3,16,25,23,20,27,03,,,,,,,2.5,1.5,2.0*36
+$GPGST,222516.000,16.4,5.8,11.5,4.5,5.3,10.5,17.3*6A
+$GPGSV,3,1,10,16,48,115,44,25,39,268,32,23,58,175,38,20,71,336,30*71
+$GPGSV,3,2,10,19,02,028,18,04,06,241,23,13,30,223,24,27,19,284,33*73
+$GPGSV,3,3,10,11,06,337,28,03,14,055,28*7F
+$GPRMC,222516.000,A,2734.67384,S,15305.63376,E,27.7,143.8,030308,11.2,W,A*05
+$GPVTG,143.8,T,155.0,M,27.7,N,51.4,K,A*2E
+$GPGGA,222517.000,2734.68035,S,15305.63901,E,1,06,1.5,68.8,M,39.2,M,,*79
+$GPGLL,2734.68035,S,15305.63901,E,222517.000,A,A*40
+$GPGSA,A,3,16,25,23,20,27,03,,,,,,,2.5,1.5,2.0*36
+$GPGST,222517.000,19.1,6.2,12.1,7.2,5.8,11.0,15.3*66
+$GPGSV,3,1,10,16,48,115,44,25,39,268,34,23,58,175,38,20,71,336,32*75
+$GPGSV,3,2,10,19,02,028,20,04,06,241,23,13,30,223,24,27,19,284,34*7F
+$GPGSV,3,3,10,11,06,337,24,03,14,055,29*72
+$GPRMC,222517.000,A,2734.68035,S,15305.63901,E,28.6,144.1,030308,11.2,W,A*08
+$GPVTG,144.1,T,155.3,M,28.6,N,53.0,K,A*2B
+$GPGGA,222518.000,2734.68718,S,15305.64446,E,1,07,1.4,69.1,M,39.2,M,,*7F
+$GPGLL,2734.68718,S,15305.64446,E,222518.000,A,A*4E
+$GPGSA,A,3,16,25,23,20,27,11,03,,,,,,2.4,1.4,1.9*3C
+$GPGST,222518.000,13.8,5.5,10.6,5.8,5.1,9.6,13.4*54
+$GPGSV,3,1,10,16,48,115,43,25,39,268,33,23,58,175,37,20,71,336,35*7D
+$GPGSV,3,2,10,19,02,028,20,04,06,241,18,13,30,223,24,27,19,284,33*70
+$GPGSV,3,3,10,11,06,337,22,03,14,055,33*7F
+$GPRMC,222518.000,A,2734.68718,S,15305.64446,E,29.9,144.4,030308,11.2,W,A*0D
+$GPVTG,144.4,T,155.6,M,29.9,N,55.3,K,A*20
+$GPGGA,222519.000,2734.69424,S,15305.65010,E,1,07,1.4,69.5,M,39.2,M,,*71
+$GPGLL,2734.69424,S,15305.65010,E,222519.000,A,A*44
+$GPGSA,A,3,16,25,23,20,27,11,03,,,,,,2.4,1.4,1.9*3C
+$GPGST,222519.000,14.0,13.4,5.0,89.4,4.6,12.3,18.8*58
+$GPGSV,3,1,10,16,48,115,44,25,39,268,34,23,58,175,37,20,71,336,37*7F
+$GPGSV,3,2,10,19,02,028,20,04,06,241,18,13,30,223,23,27,19,284,31*75
+$GPGSV,3,3,10,11,06,337,26,03,14,055,35*7D
+$GPRMC,222519.000,A,2734.69424,S,15305.65010,E,31.0,144.4,030308,11.2,W,A*07
+$GPVTG,144.4,T,155.6,M,31.0,N,57.5,K,A*24
+$GPGGA,222520.000,2734.70163,S,15305.65604,E,1,07,1.4,69.6,M,39.2,M,,*75
+$GPGLL,2734.70163,S,15305.65604,E,222520.000,A,A*43
+$GPGSA,A,3,16,25,23,20,27,11,03,,,,,,2.4,1.4,1.9*3C
+$GPGST,222520.000,9.8,11.6,4.7,89.0,4.3,10.6,15.9*6A
+$GPGSV,3,1,10,16,48,115,44,25,39,268,35,23,58,175,39,20,71,336,36*71
+$GPGSV,3,2,10,19,02,028,20,04,06,241,19,13,30,223,23,27,19,284,31*74
+$GPGSV,3,3,10,11,06,337,31,03,14,055,37*79
+$GPRMC,222520.000,A,2734.70163,S,15305.65604,E,32.5,144.1,030308,11.2,W,A*03
+$GPVTG,144.1,T,155.3,M,32.5,N,60.2,K,A*21
+$GPGGA,222521.000,2734.70923,S,15305.66218,E,1,07,1.4,69.5,M,39.2,M,,*71
+$GPGLL,2734.70923,S,15305.66218,E,222521.000,A,A*44
+$GPGSA,A,3,16,25,23,20,27,11,03,,,,,,2.4,1.4,1.9*3C
+$GPGST,222521.000,11.1,6.2,10.8,9.6,5.8,9.8,16.8*53
+$GPGSV,3,1,10,16,48,115,44,25,39,268,36,23,58,175,40,20,71,336,38*72
+$GPGSV,3,2,10,19,02,028,20,04,06,241,19,13,30,223,23,27,19,284,26*72
+$GPGSV,3,3,10,11,06,338,31,03,14,055,37*76
+$GPRMC,222521.000,A,2734.70923,S,15305.66218,E,33.5,144.0,030308,11.2,W,A*04
+$GPVTG,144.0,T,155.3,M,33.5,N,62.0,K,A*21
+$GPGGA,222522.000,2734.71700,S,15305.66845,E,1,06,1.5,69.1,M,39.2,M,,*7A
+$GPGLL,2734.71700,S,15305.66845,E,222522.000,A,A*4B
+$GPGSA,A,3,16,25,23,20,27,03,,,,,,,2.5,1.5,2.0*36
+$GPGST,222522.000,15.0,5.7,9.9,5.5,5.2,9.0,15.4*68
+$GPGSV,3,1,10,16,48,115,43,25,39,268,36,23,58,175,40,20,71,336,37*7A
+$GPGSV,3,2,10,19,02,028,20,04,06,241,24,13,30,223,23,27,19,284,26*7C
+$GPGSV,3,3,10,11,06,338,25,03,14,055,37*73
+$GPRMC,222522.000,A,2734.71700,S,15305.66845,E,34.2,144.1,030308,11.2,W,A*0A
+$GPVTG,144.1,T,155.3,M,34.2,N,63.4,K,A*25
+$GPGGA,222523.000,2734.72487,S,15305.67483,E,1,07,1.4,68.6,M,39.2,M,,*75
+$GPGLL,2734.72487,S,15305.67483,E,222523.000,A,A*42
+$GPGSA,A,3,16,25,23,20,27,11,03,,,,,,2.4,1.4,1.9*3C
+$GPGST,222523.000,13.8,5.2,10.1,3.9,4.8,9.2,13.8*5B
+$GPGSV,3,1,10,16,48,115,44,25,39,268,37,23,58,175,41,20,71,336,35*7F
+$GPGSV,3,2,10,19,02,028,20,04,06,241,24,13,30,223,23,27,19,284,26*7C
+$GPGSV,3,3,10,11,06,338,23,03,14,055,31*73
+$GPRMC,222523.000,A,2734.72487,S,15305.67483,E,34.7,144.2,030308,11.2,W,A*05
+$GPVTG,144.2,T,155.4,M,34.7,N,64.3,K,A*24
+$GPGGA,222524.000,2734.73280,S,15305.68126,E,1,07,1.4,68.1,M,39.2,M,,*70
+$GPGLL,2734.73280,S,15305.68126,E,222524.000,A,A*40
+$GPGSA,A,3,16,25,23,20,27,11,03,,,,,,2.4,1.4,1.9*3C
+$GPGST,222524.000,10.5,4.9,9.4,3.5,4.5,8.6,12.8*60
+$GPGSV,3,1,10,16,48,115,44,25,39,268,37,23,58,175,41,20,71,336,35*7F
+$GPGSV,3,2,10,19,02,028,20,04,06,241,22,13,30,223,23,27,19,284,26*7A
+$GPGSV,3,3,10,11,06,338,25,03,14,055,29*7C
+$GPRMC,222524.000,A,2734.73280,S,15305.68126,E,35.0,144.2,030308,11.2,W,A*01
+$GPVTG,144.2,T,155.4,M,35.0,N,64.9,K,A*28
+$GPGGA,222525.000,2734.74083,S,15305.68778,E,1,07,1.4,67.7,M,39.2,M,,*73
+$GPGLL,2734.74083,S,15305.68778,E,222525.000,A,A*4A
+$GPGSA,A,3,16,25,23,20,27,11,03,,,,,,2.4,1.4,1.9*3C
+$GPGST,222525.000,10.3,5.2,13.4,3.6,4.8,12.3,20.4*6B
+$GPGSV,3,1,10,16,48,115,43,25,39,268,38,23,58,175,40,20,71,336,36*75
+$GPGSV,3,2,10,19,02,028,20,04,06,241,22,13,30,223,23,27,19,284,23*7F
+$GPGSV,3,3,10,11,06,338,27,03,14,055,36*70
+$GPRMC,222525.000,A,2734.74083,S,15305.68778,E,35.6,144.2,030308,11.2,W,A*0D
+$GPVTG,144.2,T,155.4,M,35.6,N,65.9,K,A*2F
+$GPGGA,222526.000,2734.74894,S,15305.69428,E,1,06,1.5,67.2,M,39.2,M,,*7C
+$GPGLL,2734.74894,S,15305.69428,E,222526.000,A,A*40
+$GPGSA,A,3,16,25,23,20,27,03,,,,,,,2.5,1.5,2.0*36
+$GPGST,222526.000,8.0,5.7,12.0,2.6,5.2,10.9,17.4*54
+$GPGSV,3,1,10,16,48,115,43,25,39,268,37,23,58,175,40,20,71,336,35*79
+$GPGSV,3,2,10,19,02,028,20,04,06,241,22,13,30,223,23,27,19,284,24*78
+$GPGSV,3,3,10,11,06,338,27,03,14,055,39*7F
+$GPRMC,222526.000,A,2734.74894,S,15305.69428,E,35.8,144.5,030308,11.2,W,A*0E
+$GPVTG,144.5,T,155.7,M,35.8,N,66.3,K,A*2C
+$GPGGA,222527.000,2734.75707,S,15305.70075,E,1,05,1.7,66.8,M,39.2,M,,*77
+$GPGLL,2734.75707,S,15305.70075,E,222527.000,A,A*41
+$GPGSA,A,3,16,25,23,20,03,,,,,,,,2.9,1.7,2.4*39
+$GPGST,222527.000,13.9,6.3,10.9,6.3,5.9,10.0,18.2*60
+$GPGSV,3,1,10,16,48,115,44,25,39,268,38,23,58,175,40,20,71,336,33*77
+$GPGSV,3,2,10,19,02,028,,04,06,241,25,13,30,223,23,27,19,284,26*7F
+$GPGSV,3,3,10,11,06,338,,03,14,055,36*75
+$GPRMC,222527.000,A,2734.75707,S,15305.70075,E,35.8,144.6,030308,11.2,W,A*0C
+$GPVTG,144.6,T,155.8,M,35.8,N,66.2,K,A*21
+$GPGGA,222528.000,2734.76518,S,15305.70724,E,1,06,1.5,66.1,M,39.2,M,,*7C
+$GPGLL,2734.76518,S,15305.70724,E,222528.000,A,A*42
+$GPGSA,A,3,16,25,23,20,27,03,,,,,,,2.5,1.5,2.0*36
+$GPGST,222528.000,11.3,5.6,10.1,4.5,5.2,9.2,16.1*51
+$GPGSV,3,1,10,16,48,115,43,25,39,268,39,23,58,175,39,20,71,336,28*75
+$GPGSV,3,2,10,19,02,028,,04,06,241,25,13,30,223,23,27,19,284,26*7F
+$GPGSV,3,3,10,11,06,338,,03,14,055,36*75
+$GPRMC,222528.000,A,2734.76518,S,15305.70724,E,35.7,144.4,030308,11.2,W,A*02
+$GPVTG,144.4,T,155.6,M,35.7,N,66.2,K,A*22
+$GPGGA,222529.000,2734.77313,S,15305.71385,E,1,06,1.5,66.1,M,39.2,M,,*7F
+$GPGLL,2734.77313,S,15305.71385,E,222529.000,A,A*41
+$GPGSA,A,3,16,25,23,20,27,03,,,,,,,2.5,1.5,2.0*36
+$GPGST,222529.000,10.9,5.6,12.5,5.4,5.2,11.4,20.9*6F
+$GPGSV,3,1,10,16,48,115,41,25,39,268,40,23,58,175,36,20,71,336,28*76
+$GPGSV,3,2,10,19,02,028,,04,06,241,25,13,30,223,23,27,19,284,24*7D
+$GPGSV,3,3,10,11,06,338,27,03,14,055,30*76
+$GPRMC,222529.000,A,2734.77313,S,15305.71385,E,35.6,143.5,030308,11.2,W,A*06
+$GPVTG,143.5,T,154.7,M,35.6,N,65.8,K,A*2C
+$GPGGA,222530.000,2734.78106,S,15305.72042,E,1,06,1.5,66.0,M,39.2,M,,*74
+$GPGLL,2734.78106,S,15305.72042,E,222530.000,A,A*4B
+$GPGSA,A,3,16,25,23,20,27,03,,,,,,,2.5,1.5,2.0*36
+$GPGST,222530.000,9.4,5.4,18.9,2.4,4.9,17.3,30.6*54
+$GPGSV,3,1,10,16,48,115,40,25,39,268,40,23,58,175,36,20,71,336,28*77
+$GPGSV,3,2,10,19,02,028,,04,06,241,25,13,30,223,23,27,19,284,26*7F
+$GPGSV,3,3,10,11,06,338,27,03,14,055,29*7E
+$GPRMC,222530.000,A,2734.78106,S,15305.72042,E,35.5,143.7,030308,11.2,W,A*0D
+$GPVTG,143.7,T,155.0,M,35.5,N,65.8,K,A*2B
+$GPGGA,222531.000,2734.78918,S,15305.72691,E,1,05,4.4,66.0,M,39.2,M,,*7D
+$GPGLL,2734.78918,S,15305.72691,E,222531.000,A,A*45
+$GPGSA,A,3,16,25,23,27,11,,,,,,,,9.3,4.4,8.2*36
+$GPGST,222531.000,9.1,8.5,53.9,3.2,8.2,49.2,81.3*56
+$GPGSV,3,1,10,16,48,115,40,25,39,268,39,23,58,175,37,20,71,336,28*78
+$GPGSV,3,2,10,19,02,028,,04,06,241,25,13,31,223,23,27,19,284,25*7D
+$GPGSV,3,3,10,11,06,338,24,03,14,055,22*76
+$GPRMC,222531.000,A,2734.78918,S,15305.72691,E,35.9,144.5,030308,11.2,W,A*0A
+$GPVTG,144.5,T,155.7,M,35.9,N,66.4,K,A*2A
+$GPGGA,222532.000,2734.79737,S,15305.73347,E,1,06,1.5,66.0,M,39.2,M,,*74
+$GPGLL,2734.79737,S,15305.73347,E,222532.000,A,A*4B
+$GPGSA,A,3,16,25,23,20,27,03,,,,,,,2.5,1.5,2.0*36
+$GPGST,222532.000,11.0,6.8,38.7,1.2,6.3,35.3,58.4*69
+$GPGSV,3,1,10,16,48,115,40,25,39,268,39,23,58,175,36,20,71,336,28*79
+$GPGSV,3,2,10,19,02,028,,04,06,241,25,13,31,223,24,27,19,284,23*7C
+$GPGSV,3,3,10,11,06,338,24,03,14,055,30*75
+$GPRMC,222532.000,A,2734.79737,S,15305.73347,E,36.1,144.5,030308,11.2,W,A*0F
+$GPVTG,144.5,T,155.7,M,36.1,N,66.9,K,A*2C
+$GPGGA,222533.000,2734.80571,S,15305.74004,E,1,06,4.1,66.1,M,39.2,M,,*70
+$GPGLL,2734.80571,S,15305.74004,E,222533.000,A,A*4F
+$GPGSA,A,3,16,25,23,27,11,03,,,,,,,8.3,4.1,7.3*3F
+$GPGST,222533.000,9.4,6.1,45.5,0.4,5.6,41.6,69.5*50
+$GPGSV,3,1,10,16,48,115,40,25,39,268,39,23,58,175,37,20,71,336,28*78
+$GPGSV,3,2,10,19,02,028,,04,06,241,23,13,31,223,24,27,19,284,25*7C
+$GPGSV,3,3,10,11,06,338,22,03,14,055,25*77
+$GPRMC,222533.000,A,2734.80571,S,15305.74004,E,36.6,145.0,030308,11.2,W,A*08
+$GPVTG,145.0,T,156.2,M,36.6,N,67.7,K,A*26
+$GPGGA,222534.000,2734.81441,S,15305.74656,E,1,06,1.8,65.2,M,39.2,M,,*79
+$GPGLL,2734.81441,S,15305.74656,E,222534.000,A,A*4A
+$GPGSA,A,3,16,25,23,13,27,03,,,,,,,3.5,1.8,3.1*3A
+$GPGST,222534.000,20.2,5.8,45.7,1.7,5.4,41.7,71.3*6C
+$GPGSV,3,1,10,16,48,115,40,25,39,268,38,23,58,175,37,20,71,336,28*79
+$GPGSV,3,2,10,19,02,028,,04,06,241,23,13,31,223,25,27,19,284,25*7D
+$GPGSV,3,3,10,11,06,338,22,03,14,055,31*72
+$GPRMC,222534.000,A,2734.81441,S,15305.74656,E,37.6,146.2,030308,11.2,W,A*0D
+$GPVTG,146.2,T,157.5,M,37.6,N,69.7,K,A*2E
+$GPGGA,222535.000,2734.82349,S,15305.75307,E,1,05,1.9,63.5,M,39.2,M,,*77
+$GPGLL,2734.82349,S,15305.75307,E,222535.000,A,A*47
+$GPGSA,A,3,16,25,23,13,03,,,,,,,,3.6,1.9,3.1*3D
+$GPGST,222535.000,27.6,7.0,40.6,3.1,6.7,37.1,68.4*6C
+$GPGSV,3,1,10,16,48,115,40,25,39,268,36,23,58,175,37,20,71,336,28*77
+$GPGSV,3,2,10,19,02,028,,04,06,241,20,13,31,223,25,27,19,284,23*78
+$GPGSV,3,3,10,11,06,338,22,03,14,055,26*74
+$GPRMC,222535.000,A,2734.82349,S,15305.75307,E,38.7,147.3,030308,11.2,W,A*0E
+$GPVTG,147.3,T,158.6,M,38.7,N,71.7,K,A*25
+$GPGGA,222536.000,2734.83215,S,15305.75969,E,1,05,1.7,63.5,M,39.2,M,,*71
+$GPGLL,2734.83215,S,15305.75969,E,222536.000,A,A*4F
+$GPGSA,A,3,16,25,23,20,03,,,,,,,,2.9,1.7,2.4*39
+$GPGST,222536.000,7.9,6.3,97.2,3.9,8.3,88.7,161.0*62
+$GPGSV,3,1,10,16,48,115,40,25,39,268,37,23,58,175,36,20,71,336,28*77
+$GPGSV,3,2,10,19,02,028,,04,06,241,20,13,31,223,25,27,19,284,23*78
+$GPGSV,3,3,10,11,06,338,22,03,14,055,26*74
+$GPRMC,222536.000,A,2734.83215,S,15305.75969,E,37.6,145.6,030308,11.2,W,A*0F
+$GPVTG,145.6,T,156.8,M,37.6,N,69.7,K,A*25
+$GPGGA,222537.000,2734.84076,S,15305.76655,E,1,05,1.7,63.5,M,39.2,M,,*73
+$GPGLL,2734.84076,S,15305.76655,E,222537.000,A,A*4D
+$GPGSA,A,3,16,25,23,20,03,,,,,,,,2.9,1.7,2.4*39
+$GPGST,222537.000,16.0,7.8,110.8,2.1,8.0,101.2,209.1*57
+$GPGSV,3,1,10,16,48,115,39,25,39,268,36,23,58,175,34,20,71,336,28*7A
+$GPGSV,3,2,10,19,02,028,,04,06,241,22,13,31,223,25,27,19,284,23*7A
+$GPGSV,3,3,10,11,06,338,22,03,14,055,25*77
+$GPRMC,222537.000,A,2734.84076,S,15305.76655,E,37.9,144.6,030308,11.2,W,A*03
+$GPVTG,144.6,T,155.8,M,37.9,N,70.3,K,A*24
+$GPGGA,222538.000,2734.84945,S,15305.77356,E,1,05,1.9,63.5,M,39.2,M,,*7C
+$GPGLL,2734.84945,S,15305.77356,E,222538.000,A,A*4C
+$GPGSA,A,3,16,25,23,13,03,,,,,,,,3.6,1.9,3.1*3D
+$GPGST,222538.000,13.1,8.0,61.7,1.6,7.5,56.4,113.0*51
+$GPGSV,3,1,10,16,48,115,40,25,39,268,37,23,58,175,32,20,71,336,*79
+$GPGSV,3,2,10,19,02,028,,04,06,241,22,13,31,223,25,27,19,284,23*7A
+$GPGSV,3,3,10,11,06,338,22,03,14,055,28*7A
+$GPRMC,222538.000,A,2734.84945,S,15305.77356,E,38.4,144.2,030308,11.2,W,A*04
+$GPVTG,144.2,T,155.4,M,38.4,N,71.1,K,A*2D
+$GPGGA,222539.000,2734.85792,S,15305.78022,E,1,05,1.9,63.5,M,39.2,M,,*77
+$GPGLL,2734.85792,S,15305.78022,E,222539.000,A,A*47
+$GPGSA,A,3,16,25,23,13,03,,,,,,,,3.6,1.9,3.1*3D
+$GPGST,222539.000,6.4,7.5,72.7,1.5,7.1,66.5,137.2*68
+$GPGSV,3,1,10,16,48,115,40,25,39,268,38,23,58,175,32,20,71,336,*76
+$GPGSV,3,2,10,19,02,028,,04,06,241,22,13,31,223,25,27,19,284,23*7A
+$GPGSV,3,3,10,11,06,338,22,03,14,055,28*7A
+$GPRMC,222539.000,A,2734.85792,S,15305.78022,E,37.1,144.9,030308,11.2,W,A*0E
+$GPVTG,144.9,T,156.1,M,37.1,N,68.7,K,A*24
+$GPGGA,222540.000,2734.86604,S,15305.78646,E,1,05,4.4,63.5,M,39.2,M,,*78
+$GPGLL,2734.86604,S,15305.78646,E,222540.000,A,A*40
+$GPGSA,A,3,16,25,23,27,11,,,,,,,,9.3,4.4,8.2*36
+$GPGST,222540.000,13.6,8.3,67.7,1.8,7.8,61.9,111.1*55
+$GPGSV,3,1,10,16,48,115,40,25,39,268,38,23,58,175,32,20,71,336,*76
+$GPGSV,3,2,10,19,02,028,,04,06,241,26,13,31,223,22,27,19,284,22*78
+$GPGSV,3,3,10,11,06,338,20,03,14,055,28*78
+$GPRMC,222540.000,A,2734.86604,S,15305.78646,E,35.3,145.6,030308,11.2,W,A*07
+$GPVTG,145.6,T,156.8,M,35.3,N,65.4,K,A*2D
+$GPGGA,222541.000,2734.87421,S,15305.79222,E,1,06,1.8,63.5,M,39.2,M,,*70
+$GPGLL,2734.87421,S,15305.79222,E,222541.000,A,A*42
+$GPGSA,A,3,16,25,23,13,27,03,,,,,,,3.5,1.8,3.1*3A
+$GPGST,222541.000,11.7,33.3,8.1,87.4,7.5,30.4,54.6*51
+$GPGSV,3,1,10,16,48,115,39,25,39,268,33,23,58,175,36,20,71,336,*77
+$GPGSV,3,2,10,19,02,028,,04,06,241,26,13,31,223,22,27,19,284,22*78
+$GPGSV,3,3,10,11,06,338,20,03,14,055,26*76
+$GPRMC,222541.000,A,2734.87421,S,15305.79222,E,34.6,147.7,030308,11.2,W,A*02
+$GPVTG,147.7,T,158.9,M,34.6,N,64.1,K,A*21
+$GPGGA,222542.000,2734.88135,S,15305.79765,E,1,06,1.8,63.5,M,39.2,M,,*7A
+$GPGLL,2734.88135,S,15305.79765,E,222542.000,A,A*48
+$GPGSA,A,3,16,25,23,13,27,03,,,,,,,3.5,1.8,3.1*3A
+$GPGST,222542.000,23.5,7.9,53.0,0.2,7.2,48.5,78.4*6F
+$GPGSV,3,1,10,16,48,115,40,25,39,268,36,23,58,175,35,20,71,336,*7F
+$GPGSV,3,2,10,19,02,028,,04,06,241,27,13,31,223,23,27,19,284,25*7F
+$GPGSV,3,3,10,11,06,338,20,03,14,055,26*76
+$GPRMC,222542.000,A,2734.88135,S,15305.79765,E,31.0,145.8,030308,11.2,W,A*06
+$GPVTG,145.8,T,157.0,M,31.0,N,57.4,K,A*2C
+$GPGGA,222543.000,2734.88798,S,15305.80287,E,1,07,1.2,63.0,M,39.2,M,,*7B
+$GPGLL,2734.88798,S,15305.80287,E,222543.000,A,A*47
+$GPGSA,A,3,16,25,23,20,13,27,03,,,,,,2.1,1.2,1.7*33
+$GPGST,222543.000,18.8,6.7,28.4,0.5,6.1,26.0,41.8*62
+$GPGSV,3,1,10,16,48,115,40,25,39,268,39,23,58,175,35,20,71,336,21*73
+$GPGSV,3,2,10,19,02,028,,04,06,241,37,13,31,223,22,27,19,284,24*7E
+$GPGSV,3,3,10,11,06,338,20,03,14,055,32*73
+$GPRMC,222543.000,A,2734.88798,S,15305.80287,E,29.0,144.8,030308,11.2,W,A*01
+$GPVTG,144.8,T,156.0,M,29.0,N,53.8,K,A*2D
+$GPGGA,222544.000,2734.89328,S,15305.80767,E,1,06,1.8,62.9,M,39.2,M,,*7A
+$GPGLL,2734.89328,S,15305.80767,E,222544.000,A,A*45
+$GPGSA,A,3,16,25,23,13,27,03,,,,,,,3.5,1.8,3.1*3A
+$GPGST,222544.000,14.9,35.2,5.8,89.5,5.4,32.2,52.6*52
+$GPGSV,3,1,10,16,48,115,43,25,39,268,40,23,58,175,25,20,71,336,21*7F
+$GPGSV,3,2,10,19,02,028,,04,06,241,28,13,31,223,30,27,19,284,29*7E
+$GPGSV,3,3,10,11,06,338,20,03,14,055,33*72
+$GPRMC,222544.000,A,2734.89328,S,15305.80767,E,24.5,140.9,030308,11.2,W,A*0E
+$GPVTG,140.9,T,152.1,M,24.5,N,45.3,K,A*29
+$GPGGA,222545.000,2734.89633,S,15305.81084,E,1,05,1.9,62.9,M,39.2,M,,*7D
+$GPGLL,2734.89633,S,15305.81084,E,222545.000,A,A*40
+$GPGSA,A,3,16,25,23,13,03,,,,,,,,3.6,1.9,3.1*3D
+$GPGST,222545.000,19.5,6.0,33.0,1.0,5.5,30.2,52.4*69
+$GPGSV,3,1,10,16,48,115,41,25,39,268,34,23,58,175,29,20,71,336,30*72
+$GPGSV,3,2,10,19,02,028,,04,06,241,25,13,31,223,29,27,19,284,30*73
+$GPGSV,3,3,10,11,06,338,20,03,14,055,30*71
+$GPRMC,222545.000,A,2734.89633,S,15305.81084,E,14.6,136.6,030308,11.2,W,A*05
+$GPVTG,136.6,T,147.8,M,14.6,N,27.0,K,A*2D
+$GPGGA,222546.000,2734.89236,S,15305.81130,E,1,06,1.3,62.6,M,39.2,M,,*77
+$GPGLL,2734.89236,S,15305.81130,E,222546.000,A,A*4C
+$GPGSA,A,3,16,25,23,20,13,03,,,,,,,2.3,1.3,1.9*3B
+$GPGST,222546.000,11.5,5.6,15.6,0.9,5.2,14.3,26.4*6E
+$GPGSV,3,1,10,16,48,115,35,25,39,268,40,23,58,175,41,20,71,336,38*74
+$GPGSV,3,2,10,19,02,028,,04,06,241,26,13,31,223,33,27,19,284,26*7C
+$GPGSV,3,3,10,11,06,338,20,03,14,055,28*78
+$GPRMC,222546.000,A,2734.89236,S,15305.81130,E,16.9,2.1,030308,11.2,W,A*05
+$GPVTG,2.1,T,13.3,M,16.9,N,31.2,K,A*1F
+$GPGGA,222547.000,2734.89429,S,15305.81239,E,1,05,2.3,62.5,M,39.2,M,,*77
+$GPGLL,2734.89429,S,15305.81239,E,222547.000,A,A*4F
+$GPGSA,A,3,16,23,13,27,03,,,,,,,,4.6,2.3,3.9*39
+$GPGST,222547.000,11.4,38.3,9.7,69.8,14.7,33.0,49.2*6B
+$GPGSV,3,1,10,16,48,115,32,25,39,268,37,23,58,175,42,20,71,336,37*7F
+$GPGSV,3,2,10,19,02,028,,04,06,241,26,13,31,223,36,27,19,284,29*76
+$GPGSV,3,3,10,11,06,338,20,03,14,055,34*75
+$GPRMC,222547.000,A,2734.89429,S,15305.81239,E,8.4,154.5,030308,11.2,W,A*32
+$GPVTG,154.5,T,165.7,M,8.4,N,15.6,K,A*1D
+$GPGGA,222548.000,2734.89474,S,15305.81253,E,1,07,1.2,62.0,M,39.2,M,,*79
+$GPGLL,2734.89474,S,15305.81253,E,222548.000,A,A*44
+$GPGSA,A,3,16,25,23,20,13,27,03,,,,,,2.1,1.2,1.7*33
+$GPGST,222548.000,11.0,12.3,7.9,86.0,7.3,11.3,20.6*5F
+$GPGSV,3,1,10,16,48,115,34,25,39,268,36,23,58,175,42,20,71,336,38*77
+$GPGSV,3,2,10,19,02,028,,04,06,241,25,13,31,223,36,27,19,284,29*75
+$GPGSV,3,3,10,11,06,338,20,03,14,055,33*72
+$GPRMC,222548.000,A,2734.89474,S,15305.81253,E,0.3,353.0,030308,11.2,W,A*36
+$GPVTG,353.0,T,4.3,M,0.3,N,0.5,K,A*27
+$GPGGA,222549.000,2734.89490,S,15305.81265,E,1,04,2.0,61.8,M,39.2,M,,*7E
+$GPGLL,2734.89490,S,15305.81265,E,222549.000,A,A*4A
+$GPGSA,A,3,25,23,13,03,,,,,,,,,3.9,2.0,3.3*3D
+$GPGST,222549.000,17.0,16.1,8.8,81.3,8.3,14.6,29.3*57
+$GPGSV,3,1,11,16,48,115,33,25,39,268,37,23,58,175,42,20,71,336,36*7E
+$GPGSV,3,2,11,19,02,028,,04,06,241,25,13,31,223,35,27,19,284,30*7F
+$GPGSV,3,3,11,11,06,338,20,01,,,21,03,14,055,33*71
+$GPRMC,222549.000,A,2734.89490,S,15305.81265,E,0.2,330.7,030308,11.2,W,A*3B
+$GPVTG,330.7,T,341.9,M,0.2,N,0.3,K,A*2A
+$GPGGA,222550.000,2734.89526,S,15305.81278,E,1,04,2.6,61.7,M,39.2,M,,*7F
+$GPGLL,2734.89526,S,15305.81278,E,222550.000,A,A*42
+$GPGSA,A,3,16,25,23,13,,,,,,,,,6.1,2.6,5.6*31
+$GPGST,222550.000,13.4,12.4,27.3,43.1,18.9,19.8,52.9*5A
+$GPGSV,3,1,11,16,48,115,30,25,39,268,38,23,58,175,42,20,71,336,37*73
+$GPGSV,3,2,11,19,02,028,,04,06,241,25,13,31,223,36,27,19,284,31*7D
+$GPGSV,3,3,11,11,06,338,,01,,,21,03,14,055,32*72
+$GPRMC,222550.000,A,2734.89526,S,15305.81278,E,0.1,350.7,030308,11.2,W,A*36
+$GPVTG,350.7,T,1.9,M,0.1,N,0.2,K,A*29
+$GPGGA,222551.000,2734.89528,S,15305.81279,E,1,05,2.3,61.7,M,39.2,M,,*75
+$GPGLL,2734.89528,S,15305.81279,E,222551.000,A,A*4C
+$GPGSA,A,3,16,23,13,27,03,,,,,,,,4.6,2.3,3.9*39
+$GPGST,222551.000,13.7,31.0,11.1,60.5,16.5,25.2,39.3*5F
+$GPGSV,3,1,11,16,48,115,30,25,39,268,39,23,58,175,41,20,71,336,35*73
+$GPGSV,3,2,11,19,02,028,,04,06,241,23,13,31,223,36,27,19,284,31*7B
+$GPGSV,3,3,11,11,06,338,,01,,,20,03,14,055,30*71
+$GPRMC,222551.000,A,2734.89528,S,15305.81279,E,0.1,345.0,030308,11.2,W,A*3B
+$GPVTG,345.0,T,356.2,M,0.1,N,0.2,K,A*20
+$GPGGA,222552.000,2734.89550,S,15305.81288,E,1,05,2.1,61.7,M,39.2,M,,*75
+$GPGLL,2734.89550,S,15305.81288,E,222552.000,A,A*4E
+$GPGSA,A,3,16,25,23,13,27,,,,,,,,4.7,2.1,4.2*32
+$GPGST,222552.000,11.7,11.5,20.8,20.0,11.8,18.2,39.1*55
+$GPGSV,3,1,11,16,48,115,31,25,39,268,40,23,58,175,42,20,71,336,35*7F
+$GPGSV,3,2,11,19,02,028,,04,06,241,23,13,31,223,38,27,19,284,31*75
+$GPGSV,3,3,11,11,06,338,,01,,,20,03,14,055,30*71
+$GPRMC,222552.000,A,2734.89550,S,15305.81288,E,0.1,11.2,030308,11.2,W,A*09
+$GPVTG,11.2,T,22.5,M,0.1,N,0.2,K,A*27
+$GPGGA,222553.000,2734.89573,S,15305.81294,E,1,05,2.1,61.5,M,39.2,M,,*7A
+$GPGLL,2734.89573,S,15305.81294,E,222553.000,A,A*43
+$GPGSA,A,3,16,25,23,13,27,,,,,,,,4.7,2.1,4.2*32
+$GPGST,222553.000,9.8,10.3,17.6,19.1,10.4,15.6,33.7*6C
+$GPGSV,3,1,10,16,48,115,29,25,39,268,38,23,58,175,41,20,71,336,37*79
+$GPGSV,3,2,10,19,02,028,,04,06,241,23,13,31,223,39,27,19,284,30*74
+$GPGSV,3,3,10,11,06,338,,03,14,055,29*7B
+$GPRMC,222553.000,A,2734.89573,S,15305.81294,E,0.1,351.8,030308,11.2,W,A*39
+$GPVTG,351.8,T,3.0,M,0.1,N,0.2,K,A*2C
+$GPGGA,222554.000,2734.89591,S,15305.81298,E,1,04,2.6,61.4,M,39.2,M,,*7A
+$GPGLL,2734.89591,S,15305.81298,E,222554.000,A,A*44
+$GPGSA,A,3,16,25,23,13,,,,,,,,,6.1,2.6,5.6*31
+$GPGST,222554.000,16.9,10.4,17.8,12.8,10.0,16.1,37.3*5F
+$GPGSV,3,1,10,16,48,115,32,25,39,268,38,23,58,175,41,20,71,336,36*72
+$GPGSV,3,2,10,19,02,028,,04,06,241,23,13,31,223,38,27,19,284,31*74
+$GPGSV,3,3,10,11,06,338,,03,14,055,26*74
+$GPRMC,222554.000,A,2734.89591,S,15305.81298,E,0.1,334.9,030308,11.2,W,A*3C
+$GPVTG,334.9,T,346.1,M,0.1,N,0.2,K,A*2D
+$GPGGA,222555.000,2734.89607,S,15305.81301,E,1,04,2.6,61.2,M,39.2,M,,*70
+$GPGLL,2734.89607,S,15305.81301,E,222555.000,A,A*48
+$GPGSA,A,3,16,25,23,13,,,,,,,,,6.1,2.6,5.6*31
+$GPGST,222555.000,14.4,11.9,23.3,40.8,16.2,17.6,44.5*56
+$GPGSV,3,1,11,16,48,115,32,25,39,268,37,23,58,175,40,20,71,336,38*73
+$GPGSV,3,2,11,19,02,028,,04,06,241,23,13,31,223,37,27,19,284,30*7B
+$GPGSV,3,3,11,11,06,338,,01,,,20,03,14,055,25*75
+$GPRMC,222555.000,A,2734.89607,S,15305.81301,E,0.1,6.2,030308,11.2,W,A*39
+$GPVTG,6.2,T,17.4,M,0.1,N,0.2,K,A*16
+$GPGGA,222556.000,2734.89612,S,15305.81301,E,1,04,2.6,61.1,M,39.2,M,,*74
+$GPGLL,2734.89612,S,15305.81301,E,222556.000,A,A*4F
+$GPGSA,A,3,16,25,23,13,,,,,,,,,6.1,2.6,5.6*31
+$GPGST,222556.000,12.4,15.8,24.1,4.1,14.5,22.0,39.9*69
+$GPGSV,3,1,11,16,48,115,33,25,39,268,38,23,58,174,41,20,71,336,38*7D
+$GPGSV,3,2,11,19,02,028,,04,06,242,23,13,31,223,38,27,19,284,32*75
+$GPGSV,3,3,11,11,06,338,,01,,,20,03,14,055,28*78
+$GPRMC,222556.000,A,2734.89612,S,15305.81301,E,0.1,21.8,030308,11.2,W,A*01
+$GPVTG,21.8,T,33.0,M,0.1,N,0.2,K,A*2B
+$GPGGA,222557.000,2734.89635,S,15305.81337,E,1,05,2.1,61.0,M,39.2,M,,*72
+$GPGLL,2734.89635,S,15305.81337,E,222557.000,A,A*4E
+$GPGSA,A,3,16,25,23,13,27,,,,,,,,4.7,2.1,4.2*32
+$GPGST,222557.000,10.3,13.0,15.0,5.2,11.9,13.7,32.7*6B
+$GPGSV,3,1,10,16,48,115,33,25,39,268,38,23,58,174,41,20,71,336,36*72
+$GPGSV,3,2,10,19,02,028,,04,06,242,23,13,31,223,39,27,19,284,28*7E
+$GPGSV,3,3,10,11,06,338,,03,14,055,31*72
+$GPRMC,222557.000,A,2734.89635,S,15305.81337,E,1.2,96.1,030308,11.2,W,A*07
+$GPVTG,96.1,T,107.3,M,1.2,N,2.2,K,A*1B
+$GPGGA,222558.000,2734.89638,S,15305.81517,E,1,06,1.8,60.6,M,39.2,M,,*7A
+$GPGLL,2734.89638,S,15305.81517,E,222558.000,A,A*48
+$GPGSA,A,3,16,25,23,13,27,03,,,,,,,3.5,1.8,3.1*3A
+$GPGST,222558.000,18.6,12.9,7.5,72.4,7.5,11.4,21.9*57
+$GPGSV,3,1,10,16,48,115,39,25,39,268,38,23,58,174,37,20,71,336,26*78
+$GPGSV,3,2,10,19,02,028,,04,06,242,23,13,31,223,34,27,19,284,29*72
+$GPGSV,3,3,10,11,06,338,,03,14,055,30*73
+$GPRMC,222558.000,A,2734.89638,S,15305.81517,E,5.6,82.0,030308,11.2,W,A*05
+$GPVTG,82.0,T,93.2,M,5.6,N,10.3,K,A*10
+$GPGGA,222559.000,2734.89631,S,15305.81911,E,1,05,2.2,60.5,M,39.2,M,,*71
+$GPGLL,2734.89631,S,15305.81911,E,222559.000,A,A*4A
+$GPGSA,A,3,16,25,23,20,27,,,,,,,,3.6,2.2,2.9*3A
+$GPGST,222559.000,17.0,15.1,33.1,15.1,15.5,29.4,59.0*59
+$GPGSV,3,1,10,16,48,115,34,25,39,268,35,23,58,174,30,20,71,336,29*70
+$GPGSV,3,2,10,19,02,028,,04,06,242,23,13,31,223,35,27,19,284,28*72
+$GPGSV,3,3,10,11,06,338,,03,14,055,27*75
+$GPRMC,222559.000,A,2734.89631,S,15305.81911,E,12.5,87.6,030308,11.2,W,A*31
+$GPVTG,87.6,T,98.8,M,12.5,N,23.2,K,A*26
+$GPGGA,222600.000,2734.89436,S,15305.82359,E,1,06,1.8,61.2,M,39.2,M,,*72
+$GPGLL,2734.89436,S,15305.82359,E,222600.000,A,A*45
+$GPGSA,A,3,16,25,23,13,27,03,,,,,,,3.5,1.8,3.1*3A
+$GPGST,222600.000,14.4,14.9,6.9,79.1,6.7,13.4,28.4*57
+$GPGSV,3,1,10,16,48,115,37,25,39,268,36,23,58,174,29,20,71,336,33*73
+$GPGSV,3,2,10,19,02,028,,04,06,242,23,13,31,223,39,27,19,284,28*7E
+$GPGSV,3,3,10,11,06,338,,03,14,055,28*7A
+$GPRMC,222600.000,A,2734.89436,S,15305.82359,E,15.9,62.5,030308,11.2,W,A*3D
+$GPVTG,62.5,T,73.7,M,15.9,N,29.5,K,A*22
+$GPGGA,222601.000,2734.89190,S,15305.82850,E,1,06,1.8,60.5,M,39.2,M,,*7E
+$GPGLL,2734.89190,S,15305.82850,E,222601.000,A,A*4F
+$GPGSA,A,3,16,25,23,13,27,03,,,,,,,3.6,1.8,3.1*39
+$GPGST,222601.000,11.5,13.4,6.1,78.5,6.0,12.0,24.9*56
+$GPGSV,3,1,10,16,48,115,40,25,39,268,27,23,58,174,35,20,71,336,28*74
+$GPGSV,3,2,10,19,02,028,,04,06,242,,13,31,223,39,27,19,284,27*70
+$GPGSV,3,3,10,11,06,338,,03,14,055,23*71
+$GPRMC,222601.000,A,2734.89190,S,15305.82850,E,18.0,58.9,030308,11.2,W,A*36
+$GPVTG,58.9,T,70.1,M,18.0,N,33.4,K,A*2C
+$GPGGA,222602.000,2734.88904,S,15305.83361,E,1,05,1.6,60.0,M,39.2,M,,*79
+$GPGLL,2734.88904,S,15305.83361,E,222602.000,A,A*40
+$GPGSA,A,3,16,23,20,13,03,,,,,,,,2.5,1.6,1.9*3F
+$GPGST,222602.000,11.3,17.1,6.5,54.9,10.2,13.2,18.6*62
+$GPGSV,3,1,10,16,48,115,27,25,39,268,29,23,58,174,33,20,71,336,33*77
+$GPGSV,3,2,10,19,02,028,,04,06,242,,13,31,223,35,27,19,284,32*78
+$GPGSV,3,3,10,11,06,338,,03,14,055,24*76
+$GPRMC,222602.000,A,2734.88904,S,15305.83361,E,19.8,55.1,030308,11.2,W,A*35
+$GPVTG,55.1,T,66.3,M,19.8,N,36.7,K,A*23
+$GPGGA,222603.000,2734.88556,S,15305.83944,E,1,04,3.8,58.8,M,39.2,M,,*70
+$GPGLL,2734.88556,S,15305.83944,E,222603.000,A,A*47
+$GPGSA,A,3,25,23,20,27,,,,,,,,,6.5,3.8,5.2*3C
+$GPGST,222603.000,12.6,48.6,15.6,66.9,41.3,21.9,62.5*59
+$GPGSV,3,1,10,16,48,115,23,25,39,268,29,23,58,174,31,20,71,337,37*74
+$GPGSV,3,2,10,19,02,028,,04,06,242,,13,31,223,34,27,19,284,26*7C
+$GPGSV,3,3,10,11,06,338,,03,14,055,28*7A
+$GPRMC,222603.000,A,2734.88556,S,15305.83944,E,22.7,54.4,030308,11.2,W,A*31
+$GPVTG,54.4,T,65.6,M,22.7,N,42.1,K,A*23
+$GPGGA,222604.000,2734.88238,S,15305.84546,E,1,04,4.4,57.8,M,39.2,M,,*75
+$GPGLL,2734.88238,S,15305.84546,E,222604.000,A,A*46
+$GPGSA,A,3,25,20,13,27,,,,,,,,,7.2,4.4,5.7*37
+$GPGST,222604.000,10.4,46.8,10.9,81.3,42.4,11.8,57.5*57
+$GPGSV,3,1,10,16,48,115,27,25,39,268,32,23,58,174,32,20,71,337,37*79
+$GPGSV,3,2,10,19,02,028,,04,06,242,,13,31,223,34,27,19,284,34*7F
+$GPGSV,3,3,10,11,06,338,,03,14,055,29*7B
+$GPRMC,222604.000,A,2734.88238,S,15305.84546,E,23.3,54.5,030308,11.2,W,A*34
+$GPVTG,54.5,T,65.7,M,23.3,N,43.2,K,A*24
+$GPGGA,222605.000,2734.87917,S,15305.85182,E,1,04,4.4,56.6,M,39.2,M,,*7F
+$GPGLL,2734.87917,S,15305.85182,E,222605.000,A,A*43
+$GPGSA,A,3,25,20,13,27,,,,,,,,,7.2,4.4,5.7*37
+$GPGST,222605.000,14.3,40.3,10.1,81.5,36.5,10.7,49.8*58
+$GPGSV,3,1,10,16,48,115,24,25,39,268,32,23,58,174,33,20,71,337,37*7B
+$GPGSV,3,2,10,19,02,028,,04,06,242,20,13,31,223,35,27,19,284,32*7A
+$GPGSV,3,3,10,11,06,338,,03,14,055,26*74
+$GPRMC,222605.000,A,2734.87917,S,15305.85182,E,24.5,55.0,030308,11.2,W,A*34
+$GPVTG,55.0,T,66.2,M,24.5,N,45.3,K,A*20
+$GPGGA,222606.000,2734.87588,S,15305.85846,E,1,05,3.6,55.8,M,39.2,M,,*7E
+$GPGLL,2734.87588,S,15305.85846,E,222606.000,A,A*4B
+$GPGSA,A,3,25,23,20,13,27,,,,,,,,6.3,3.6,5.2*36
+$GPGST,222606.000,11.7,30.4,8.7,77.7,27.2,9.8,40.6*59
+$GPGSV,3,1,10,16,48,115,24,25,39,268,31,23,58,174,32,20,71,337,34*7A
+$GPGSV,3,2,10,19,02,029,,04,06,242,20,13,31,223,35,27,19,284,34*7D
+$GPGSV,3,3,10,11,06,338,,03,14,055,24*76
+$GPRMC,222606.000,A,2734.87588,S,15305.85846,E,25.3,55.9,030308,11.2,W,A*32
+$GPVTG,55.9,T,67.1,M,25.3,N,46.9,K,A*25
+$GPGGA,222607.000,2734.87218,S,15305.86543,E,1,06,1.8,55.5,M,39.2,M,,*78
+$GPGLL,2734.87218,S,15305.86543,E,222607.000,A,A*4F
+$GPGSA,A,3,16,25,23,13,27,03,,,,,,,3.6,1.8,3.1*39
+$GPGST,222607.000,11.2,13.8,8.5,86.1,7.8,12.6,27.3*52
+$GPGSV,3,1,10,16,48,115,29,25,39,268,26,23,58,174,34,20,71,337,32*71
+$GPGSV,3,2,10,19,02,029,,04,06,242,27,13,31,223,36,27,19,284,30*7D
+$GPGSV,3,3,10,11,06,338,,03,14,055,24*76
+$GPRMC,222607.000,A,2734.87218,S,15305.86543,E,26.0,57.6,030308,11.2,W,A*3B
+$GPVTG,57.6,T,68.8,M,26.0,N,48.1,K,A*28
+$GPGGA,222608.000,2734.86867,S,15305.87251,E,1,06,1.8,55.1,M,39.2,M,,*75
+$GPGLL,2734.86867,S,15305.87251,E,222608.000,A,A*46
+$GPGSA,A,3,16,25,23,13,27,03,,,,,,,3.6,1.8,3.1*39
+$GPGST,222608.000,15.1,15.8,7.1,68.8,8.0,13.6,36.7*5C
+$GPGSV,3,1,10,16,48,115,39,25,39,268,28,23,58,174,35,20,71,337,30*7D
+$GPGSV,3,2,10,19,02,029,,04,06,242,27,13,31,223,40,27,19,284,28*75
+$GPGSV,3,3,10,11,06,338,,03,14,055,28*7A
+$GPRMC,222608.000,A,2734.86867,S,15305.87251,E,25.9,60.7,030308,11.2,W,A*3D
+$GPVTG,60.7,T,71.9,M,25.9,N,47.9,K,A*29
+$GPGGA,222609.000,2734.86555,S,15305.87973,E,1,06,1.8,54.7,M,39.2,M,,*74
+$GPGLL,2734.86555,S,15305.87973,E,222609.000,A,A*40
+$GPGSA,A,3,16,25,23,13,27,03,,,,,,,3.6,1.8,3.1*39
+$GPGST,222609.000,10.9,10.9,5.1,85.4,4.7,10.0,22.0*55
+$GPGSV,3,1,10,16,48,116,34,25,39,268,39,23,58,174,29,20,71,337,33*7D
+$GPGSV,3,2,10,19,02,029,,04,06,242,24,13,31,223,42,27,19,284,23*7F
+$GPGSV,3,3,10,11,06,338,,03,14,055,26*74
+$GPRMC,222609.000,A,2734.86555,S,15305.87973,E,25.7,64.3,030308,11.2,W,A*35
+$GPVTG,64.3,T,75.6,M,25.7,N,47.5,K,A*20
+$GPGGA,222610.000,2734.86253,S,15305.88695,E,1,05,1.9,54.1,M,39.2,M,,*71
+$GPGLL,2734.86253,S,15305.88695,E,222610.000,A,A*41
+$GPGSA,A,3,16,25,23,13,03,,,,,,,,3.7,1.9,3.1*3C
+$GPGST,222610.000,11.1,14.6,7.4,64.7,8.3,12.4,28.7*57
+$GPGSV,3,1,10,16,48,116,29,25,39,268,42,23,58,174,28,20,71,337,32*7D
+$GPGSV,3,2,10,19,02,029,,04,06,242,24,13,31,223,42,27,19,284,23*7F
+$GPGSV,3,3,10,11,06,338,,03,14,055,24*76
+$GPRMC,222610.000,A,2734.86253,S,15305.88695,E,25.3,65.0,030308,11.2,W,A*32
+$GPVTG,65.0,T,76.3,M,25.3,N,46.8,K,A*2C
+$GPGGA,222611.000,2734.85924,S,15305.89387,E,1,05,2.2,53.4,M,39.2,M,,*75
+$GPGLL,2734.85924,S,15305.89387,E,222611.000,A,A*4F
+$GPGSA,A,3,16,25,23,20,13,,,,,,,,5.3,2.2,4.8*39
+$GPGST,222611.000,17.7,8.4,21.7,17.4,9.4,19.0,57.8*57
+$GPGSV,3,1,10,16,48,116,39,25,39,268,32,23,58,174,35,20,71,337,26*72
+$GPGSV,3,2,10,19,02,029,,04,06,242,31,13,31,223,39,27,19,284,24*70
+$GPGSV,3,3,10,11,06,338,,03,14,055,26*74
+$GPRMC,222611.000,A,2734.85924,S,15305.89387,E,24.9,61.4,030308,11.2,W,A*37
+$GPVTG,61.4,T,72.6,M,24.9,N,46.1,K,A*2F
+$GPGGA,222612.000,2734.85516,S,15305.90007,E,1,07,1.2,53.3,M,39.2,M,,*7E
+$GPGLL,2734.85516,S,15305.90007,E,222612.000,A,A*42
+$GPGSA,A,3,16,25,23,20,13,27,03,,,,,,2.1,1.2,1.7*33
+$GPGST,222612.000,15.5,16.3,8.2,77.8,8.0,14.7,27.8*50
+$GPGSV,3,1,10,16,48,116,29,25,39,268,29,23,58,174,30,20,71,337,34*7F
+$GPGSV,3,2,10,19,02,029,,04,06,242,27,13,31,223,35,27,19,284,28*77
+$GPGSV,3,3,10,11,06,338,,03,14,055,25*77
+$GPRMC,222612.000,A,2734.85516,S,15305.90007,E,24.5,53.1,030308,11.2,W,A*32
+$GPVTG,53.1,T,64.3,M,24.5,N,45.4,K,A*23
+$GPGGA,222613.000,2734.85043,S,15305.90565,E,1,05,1.9,53.2,M,39.2,M,,*73
+$GPGLL,2734.85043,S,15305.90565,E,222613.000,A,A*47
+$GPGSA,A,3,16,25,20,13,27,,,,,,,,3.7,1.9,3.2*3A
+$GPGST,222613.000,21.1,11.0,20.9,21.8,11.7,18.1,48.5*55
+$GPGSV,3,1,10,16,48,116,30,25,39,268,32,23,58,174,24,20,71,337,36*7A
+$GPGSV,3,2,10,19,02,029,,04,06,242,22,13,31,223,35,27,19,284,29*73
+$GPGSV,3,3,10,11,06,338,,03,14,055,29*7B
+$GPRMC,222613.000,A,2734.85043,S,15305.90565,E,24.9,45.4,030308,11.2,W,A*39
+$GPVTG,45.4,T,56.6,M,24.9,N,46.1,K,A*2F
+$GPGGA,222614.000,2734.84523,S,15305.91064,E,1,05,1.9,53.2,M,39.2,M,,*73
+$GPGLL,2734.84523,S,15305.91064,E,222614.000,A,A*47
+$GPGSA,A,3,16,25,20,13,27,,,,,,,,3.7,1.9,3.2*3A
+$GPGST,222614.000,18.8,16.8,28.3,28.1,18.2,24.0,43.4*54
+$GPGSV,3,1,10,16,48,116,27,25,39,268,30,23,58,174,32,20,71,337,35*7A
+$GPGSV,3,2,10,19,02,029,,04,06,242,28,13,31,223,26,27,19,284,32*71
+$GPGSV,3,3,10,11,06,338,,03,14,055,30*73
+$GPRMC,222614.000,A,2734.84523,S,15305.91064,E,24.7,40.2,030308,11.2,W,A*34
+$GPVTG,40.2,T,51.4,M,24.7,N,45.7,K,A*22
+$GPGGA,222615.000,2734.84002,S,15305.91547,E,1,07,1.2,53.0,M,39.2,M,,*7B
+$GPGLL,2734.84002,S,15305.91547,E,222615.000,A,A*44
+$GPGSA,A,3,16,25,23,20,13,27,03,,,,,,2.1,1.2,1.7*33
+$GPGST,222615.000,19.7,18.9,7.9,71.0,8.8,16.5,18.9*52
+$GPGSV,3,1,10,16,48,116,25,25,39,268,26,23,58,174,35,20,71,337,34*79
+$GPGSV,3,2,10,19,02,029,,04,06,242,24,13,31,223,25,27,19,284,30*7C
+$GPGSV,3,3,10,11,06,338,,03,14,055,29*7B
+$GPRMC,222615.000,A,2734.84002,S,15305.91547,E,24.1,38.7,030308,11.2,W,A*3B
+$GPVTG,38.7,T,49.9,M,24.1,N,44.7,K,A*2B
+$GPGGA,222616.000,2734.83488,S,15305.92024,E,1,07,1.2,53.1,M,39.2,M,,*7B
+$GPGLL,2734.83488,S,15305.92024,E,222616.000,A,A*45
+$GPGSA,A,3,16,25,23,20,13,27,03,,,,,,2.1,1.2,1.7*33
+$GPGST,222616.000,18.1,15.8,11.2,70.8,10.8,14.1,19.9*51
+$GPGSV,3,1,10,16,48,116,27,25,39,268,29,23,58,174,34,20,71,337,30*71
+$GPGSV,3,2,10,19,02,029,,04,06,242,27,13,31,223,24,27,19,284,28*77
+$GPGSV,3,3,10,11,06,338,,03,14,055,32*71
+$GPRMC,222616.000,A,2734.83488,S,15305.92024,E,24.0,39.3,030308,11.2,W,A*3E
+$GPVTG,39.3,T,50.5,M,24.0,N,44.5,K,A*29
+$GPGGA,222617.000,2734.82955,S,15305.92505,E,1,07,1.2,53.2,M,39.2,M,,*73
+$GPGLL,2734.82955,S,15305.92505,E,222617.000,A,A*4E
+$GPGSA,A,3,16,25,23,20,13,27,03,,,,,,2.1,1.2,1.7*33
+$GPGST,222617.000,14.7,13.3,9.2,70.7,8.9,11.8,16.8*5B
+$GPGSV,3,1,10,16,48,116,23,25,39,268,30,23,58,174,35,20,71,337,33*7F
+$GPGSV,3,2,10,19,02,029,,04,06,242,25,13,31,223,25,27,19,284,26*7A
+$GPGSV,3,3,10,11,06,338,,03,14,055,32*71
+$GPRMC,222617.000,A,2734.82955,S,15305.92505,E,24.7,38.8,030308,11.2,W,A*38
+$GPVTG,38.8,T,50.0,M,24.7,N,45.7,K,A*22
+$GPGGA,222618.000,2734.82405,S,15305.92991,E,1,07,1.2,53.5,M,39.2,M,,*72
+$GPGLL,2734.82405,S,15305.92991,E,222618.000,A,A*48
+$GPGSA,A,3,16,25,23,20,13,27,03,,,,,,2.1,1.2,1.7*33
+$GPGST,222618.000,13.7,14.7,7.8,77.2,7.6,13.2,24.3*54
+$GPGSV,3,1,10,16,48,116,27,25,39,268,30,23,58,174,36,20,71,337,32*79
+$GPGSV,3,2,10,19,02,029,,04,06,242,31,13,31,223,25,27,19,283,23*7D
+$GPGSV,3,3,10,11,06,338,,03,14,056,32*72
+$GPRMC,222618.000,A,2734.82405,S,15305.92991,E,25.3,38.3,030308,11.2,W,A*30
+$GPVTG,38.3,T,49.5,M,25.3,N,46.8,K,A*2D
+$GPGGA,222619.000,2734.81867,S,15305.93485,E,1,07,1.2,53.8,M,39.2,M,,*7C
+$GPGLL,2734.81867,S,15305.93485,E,222619.000,A,A*4B
+$GPGSA,A,3,16,25,23,20,13,27,03,,,,,,2.1,1.2,1.7*33
+$GPGST,222619.000,20.5,18.3,9.9,85.5,9.1,16.7,27.9*5A
+$GPGSV,3,1,10,16,48,116,27,25,39,268,30,23,58,174,35,20,71,337,33*7B
+$GPGSV,3,2,10,19,02,029,,04,06,242,29,13,31,223,23,27,19,283,23*72
+$GPGSV,3,3,10,11,06,338,,03,14,056,32*72
+$GPRMC,222619.000,A,2734.81867,S,15305.93485,E,25.3,39.2,030308,11.2,W,A*33
+$GPVTG,39.2,T,50.4,M,25.3,N,46.8,K,A*24
+$GPGGA,222620.000,2734.81344,S,15305.93979,E,1,05,1.6,53.8,M,39.2,M,,*74
+$GPGLL,2734.81344,S,15305.93979,E,222620.000,A,A*45
+$GPGSA,A,3,16,23,20,13,03,,,,,,,,2.5,1.6,1.9*3F
+$GPGST,222620.000,18.2,14.7,21.1,9.8,19.1,13.7,29.8*64
+$GPGSV,3,1,10,16,48,116,26,25,39,268,30,23,58,174,33,20,71,337,34*7B
+$GPGSV,3,2,10,19,02,029,,04,06,242,24,13,31,223,25,27,19,283,29*73
+$GPGSV,3,3,10,11,06,338,,03,14,056,33*73
+$GPRMC,222620.000,A,2734.81344,S,15305.93979,E,24.7,39.5,030308,11.2,W,A*3F
+$GPVTG,39.5,T,50.7,M,24.7,N,45.8,K,A*26
+$GPGGA,222621.000,2734.80838,S,15305.94469,E,1,06,1.3,53.5,M,39.2,M,,*74
+$GPGLL,2734.80838,S,15305.94469,E,222621.000,A,A*4E
+$GPGSA,A,3,16,25,23,20,13,03,,,,,,,2.3,1.3,1.9*3B
+$GPGST,222621.000,14.6,11.8,13.4,39.2,11.7,11.4,21.8*5D
+$GPGSV,3,1,10,16,48,116,25,25,39,268,31,23,58,174,33,20,71,337,37*7A
+$GPGSV,3,2,10,19,03,029,,04,06,242,24,13,31,223,24,27,19,283,36*7D
+$GPGSV,3,3,10,11,06,338,,03,14,056,32*72
+$GPRMC,222621.000,A,2734.80838,S,15305.94469,E,24.1,40.1,030308,11.2,W,A*38
+$GPVTG,40.1,T,51.3,M,24.1,N,44.7,K,A*21
+$GPGGA,222622.000,2734.80354,S,15305.94956,E,1,06,1.7,53.3,M,39.2,M,,*75
+$GPGLL,2734.80354,S,15305.94956,E,222622.000,A,A*4D
+$GPGSA,A,3,16,25,23,20,13,27,,,,,,,3.3,1.7,2.9*3B
+$GPGST,222622.000,13.2,10.2,17.1,41.6,12.5,13.2,30.8*59
+$GPGSV,3,1,10,16,48,116,26,25,39,268,31,23,58,174,26,20,71,337,39*73
+$GPGSV,3,2,10,19,03,029,,04,06,242,24,13,31,223,28,27,19,283,36*71
+$GPGSV,3,3,10,11,06,338,,03,14,056,35*75
+$GPRMC,222622.000,A,2734.80354,S,15305.94956,E,23.6,41.3,030308,11.2,W,A*38
+$GPVTG,41.3,T,52.5,M,23.6,N,43.7,K,A*20
+$GPGGA,222623.000,2734.79878,S,15305.95470,E,1,05,1.9,52.8,M,39.2,M,,*78
+$GPGLL,2734.79878,S,15305.95470,E,222623.000,A,A*47
+$GPGSA,A,3,16,25,20,13,27,,,,,,,,3.7,1.9,3.2*3A
+$GPGST,222623.000,14.7,24.8,16.6,50.3,19.9,18.6,39.3*5E
+$GPGSV,3,1,11,16,48,116,24,25,39,268,32,23,58,174,24,20,71,337,38*70
+$GPGSV,3,2,11,19,03,029,,04,06,242,24,13,31,223,32,27,19,283,34*79
+$GPGSV,3,3,11,11,06,338,,01,,,18,03,14,056,34*7D
+$GPRMC,222623.000,A,2734.79878,S,15305.95470,E,24.0,43.4,030308,11.2,W,A*36
+$GPVTG,43.4,T,54.6,M,24.0,N,44.4,K,A*25
+$GPGGA,222624.000,2734.79400,S,15305.96019,E,1,05,1.9,52.3,M,39.2,M,,*7F
+$GPGLL,2734.79400,S,15305.96019,E,222624.000,A,A*4B
+$GPGSA,A,3,16,25,20,27,03,,,,,,,,2.7,1.9,2.0*39
+$GPGST,222624.000,12.3,24.0,7.9,80.2,8.0,21.7,15.3*5C
+$GPGSV,3,1,11,16,48,116,23,25,39,268,32,23,58,174,26,20,71,337,37*7A
+$GPGSV,3,2,11,19,03,029,,04,06,242,24,13,31,223,35,27,19,283,25*7E
+$GPGSV,3,3,11,11,06,338,,01,,,18,03,14,056,31*78
+$GPRMC,222624.000,A,2734.79400,S,15305.96019,E,24.7,45.3,030308,11.2,W,A*3C
+$GPVTG,45.3,T,56.6,M,24.7,N,45.7,K,A*23
+$GPGGA,222625.000,2734.78953,S,15305.96595,E,1,05,1.9,51.8,M,39.2,M,,*7D
+$GPGLL,2734.78953,S,15305.96595,E,222625.000,A,A*41
+$GPGSA,A,3,16,25,20,13,27,,,,,,,,3.7,1.9,3.2*3A
+$GPGST,222625.000,24.0,12.2,19.9,37.5,14.2,16.0,36.1*57
+$GPGSV,3,1,11,16,48,116,30,25,39,268,32,23,58,174,23,20,71,337,37*7D
+$GPGSV,3,2,11,19,03,029,,04,06,242,25,13,31,223,36,27,19,283,25*7C
+$GPGSV,3,3,11,11,06,338,,01,,,18,03,14,056,24*7C
+$GPRMC,222625.000,A,2734.78953,S,15305.96595,E,24.8,47.9,030308,11.2,W,A*31
+$GPVTG,47.9,T,59.1,M,24.8,N,46.0,K,A*28
+$GPGGA,222626.000,2734.78516,S,15305.97172,E,1,05,2.5,51.1,M,39.2,M,,*79
+$GPGLL,2734.78516,S,15305.97172,E,222626.000,A,A*43
+$GPGSA,A,3,16,25,20,04,13,,,,,,,,4.2,2.5,3.3*37
+$GPGST,222626.000,20.2,12.6,23.1,19.8,13.0,20.2,38.4*5F
+$GPGSV,3,1,11,16,48,116,31,25,39,268,32,23,58,174,25,20,71,337,38*75
+$GPGSV,3,2,11,19,03,029,,04,06,242,25,13,31,223,36,27,19,283,23*7A
+$GPGSV,3,3,11,11,06,338,,01,,,18,03,14,056,24*7C
+$GPRMC,222626.000,A,2734.78516,S,15305.97172,E,24.7,48.3,030308,11.2,W,A*39
+$GPVTG,48.3,T,59.5,M,24.7,N,45.7,K,A*22
+$GPGGA,222627.000,2734.78079,S,15305.97737,E,1,04,2.5,50.5,M,39.2,M,,*77
+$GPGLL,2734.78079,S,15305.97737,E,222627.000,A,A*49
+$GPGSA,A,3,16,23,20,13,,,,,,,,,5.8,2.5,5.2*39
+$GPGST,222627.000,16.3,12.4,42.2,11.3,13.5,37.9,90.0*51
+$GPGSV,3,1,11,16,48,116,28,25,39,268,32,23,58,174,25,20,71,337,37*72
+$GPGSV,3,2,11,19,03,029,,04,06,242,29,13,31,223,37,27,19,283,30*75
+$GPGSV,3,3,11,11,06,338,,01,,,18,03,14,056,24*7C
+$GPRMC,222627.000,A,2734.78079,S,15305.97737,E,24.3,48.1,030308,11.2,W,A*35
+$GPVTG,48.1,T,59.3,M,24.3,N,45.1,K,A*24
+$GPGGA,222628.000,2734.77637,S,15305.98293,E,1,07,1.3,50.2,M,39.2,M,,*7E
+$GPGLL,2734.77637,S,15305.98293,E,222628.000,A,A*41
+$GPGSA,A,3,16,25,23,04,13,27,03,,,,,,2.2,1.3,1.8*38
+$GPGST,222628.000,13.2,14.5,8.8,76.9,8.4,13.0,22.0*5F
+$GPGSV,3,1,11,16,48,116,30,25,39,268,32,23,58,174,27,20,71,337,37*79
+$GPGSV,3,2,11,19,03,029,,04,06,242,32,13,31,223,37,27,19,283,28*76
+$GPGSV,3,3,11,11,06,338,,01,,,18,03,14,056,25*7D
+$GPRMC,222628.000,A,2734.77637,S,15305.98293,E,23.9,48.5,030308,11.2,W,A*34
+$GPVTG,48.5,T,59.7,M,23.9,N,44.3,K,A*2A
+$GPGGA,222629.000,2734.77226,S,15305.98850,E,1,08,1.1,49.5,M,39.2,M,,*7C
+$GPGLL,2734.77226,S,15305.98850,E,222629.000,A,A*41
+$GPGSA,A,3,16,25,23,20,04,13,27,03,,,,,1.7,1.1,1.3*35
+$GPGST,222629.000,11.0,9.5,7.3,89.6,6.7,8.6,14.3*5E
+$GPGSV,3,1,11,16,48,116,31,25,39,268,32,23,58,174,25,20,71,337,36*7B
+$GPGSV,3,2,11,19,03,029,,04,06,242,30,13,31,223,37,27,19,283,28*74
+$GPGSV,3,3,11,11,06,338,,01,,,18,03,14,056,27*7F
+$GPRMC,222629.000,A,2734.77226,S,15305.98850,E,23.5,49.4,030308,11.2,W,A*38
+$GPVTG,49.4,T,60.6,M,23.5,N,43.5,K,A*2C
+$GPGGA,222630.000,2734.76859,S,15305.99361,E,1,04,3.5,49.4,M,39.2,M,,*74
+$GPGLL,2734.76859,S,15305.99361,E,222630.000,A,A*42
+$GPGSA,A,3,16,25,20,27,,,,,,,,,4.9,3.5,3.4*39
+$GPGST,222630.000,13.4,7.9,50.0,19.9,17.0,43.1,69.5*66
+$GPGSV,3,1,11,16,48,116,31,25,39,268,30,23,58,174,22,20,71,337,36*7E
+$GPGSV,3,2,11,19,03,029,,04,06,242,32,13,31,223,35,27,19,283,24*78
+$GPGSV,3,3,11,11,06,338,18,01,,,18,03,14,056,29*78
+$GPRMC,222630.000,A,2734.76859,S,15305.99361,E,21.1,50.3,030308,11.2,W,A*32
+$GPVTG,50.3,T,61.5,M,21.1,N,39.1,K,A*2E
+$GPGGA,222631.000,2734.76498,S,15305.99809,E,1,08,1.1,48.2,M,39.2,M,,*7C
+$GPGLL,2734.76498,S,15305.99809,E,222631.000,A,A*47
+$GPGSA,A,3,16,25,23,20,04,13,27,03,,,,,1.7,1.1,1.3*35
+$GPGST,222631.000,18.4,10.8,5.8,77.6,5.6,9.7,13.2*63
+$GPGSV,3,1,11,16,48,116,32,25,39,268,31,23,58,174,22,20,71,337,35*7F
+$GPGSV,3,2,11,19,03,029,,04,06,242,30,13,31,223,36,27,19,283,25*78
+$GPGSV,3,3,11,11,06,338,18,01,,,18,03,14,056,33*73
+$GPRMC,222631.000,A,2734.76498,S,15305.99809,E,19.4,47.4,030308,11.2,W,A*38
+$GPVTG,47.4,T,58.6,M,19.4,N,35.9,K,A*2C
+$GPGGA,222632.000,2734.76359,S,15306.00162,E,1,08,1.1,49.6,M,39.2,M,,*77
+$GPGLL,2734.76359,S,15306.00162,E,222632.000,A,A*49
+$GPGSA,A,3,16,25,23,20,04,13,27,03,,,,,1.7,1.1,1.3*35
+$GPGST,222632.000,18.1,14.9,6.7,53.4,9.5,11.5,16.1*5A
+$GPGSV,3,1,11,16,48,116,30,25,39,268,31,23,58,174,31,20,71,337,31*7B
+$GPGSV,3,2,11,19,03,029,,04,06,242,22,13,31,223,37,27,19,283,29*76
+$GPGSV,3,3,11,11,06,338,24,01,,,18,03,14,056,25*7B
+$GPRMC,222632.000,A,2734.76359,S,15306.00162,E,12.4,65.5,030308,11.2,W,A*3C
+$GPVTG,65.5,T,76.7,M,12.4,N,22.9,K,A*2D
+$GPGGA,222633.000,2734.76254,S,15306.00553,E,1,08,1.1,49.0,M,39.2,M,,*7A
+$GPGLL,2734.76254,S,15306.00553,E,222633.000,A,A*42
+$GPGSA,A,3,16,25,23,20,04,13,27,03,,,,,1.7,1.1,1.3*35
+$GPGST,222633.000,13.9,12.3,5.8,55.3,7.8,9.7,13.7*62
+$GPGSV,3,1,10,16,48,116,35,25,39,268,35,23,58,174,30,20,71,337,35*7E
+$GPGSV,3,2,10,19,03,029,,04,06,242,26,13,31,223,39,27,19,283,26*72
+$GPGSV,3,3,10,11,06,338,24,03,14,056,30*76
+$GPRMC,222633.000,A,2734.76254,S,15306.00553,E,12.9,72.5,030308,11.2,W,A*3C
+$GPVTG,72.5,T,83.7,M,12.9,N,23.9,K,A*2D
+$GPGGA,222634.000,2734.76305,S,15306.00850,E,1,08,1.1,48.4,M,39.2,M,,*73
+$GPGLL,2734.76305,S,15306.00850,E,222634.000,A,A*4E
+$GPGSA,A,3,16,25,23,20,04,13,27,03,,,,,1.7,1.1,1.3*35
+$GPGST,222634.000,11.3,10.3,5.3,58.0,6.5,8.4,12.0*62
+$GPGSV,3,1,10,16,48,116,33,25,39,268,38,23,58,174,30,20,71,337,30*70
+$GPGSV,3,2,10,19,03,029,,04,06,242,29,13,31,223,34,27,19,283,30*77
+$GPGSV,3,3,10,11,06,338,23,03,14,056,25*75
+$GPRMC,222634.000,A,2734.76305,S,15306.00850,E,9.4,99.3,030308,11.2,W,A*04
+$GPVTG,99.3,T,110.5,M,9.4,N,17.3,K,A*2D
+$GPGGA,222635.000,2734.76418,S,15306.01089,E,1,08,1.1,47.9,M,39.2,M,,*76
+$GPGLL,2734.76418,S,15306.01089,E,222635.000,A,A*49
+$GPGSA,A,3,16,25,23,20,04,13,27,03,,,,,1.7,1.1,1.3*35
+$GPGST,222635.000,13.4,9.3,7.7,66.3,7.3,8.3,14.0*50
+$GPGSV,3,1,10,16,48,116,36,25,39,268,31,23,58,174,37,20,71,337,36*7D
+$GPGSV,3,2,10,19,03,029,,04,06,242,31,13,31,223,34,27,19,283,31*7F
+$GPGSV,3,3,10,11,06,338,23,03,14,056,23*73
+$GPRMC,222635.000,A,2734.76418,S,15306.01089,E,8.3,116.7,030308,11.2,W,A*37
+$GPVTG,116.7,T,127.9,M,8.3,N,15.4,K,A*14
+$GPGGA,222636.000,2734.76577,S,15306.01258,E,1,07,1.7,47.9,M,39.2,M,,*7A
+$GPGLL,2734.76577,S,15306.01258,E,222636.000,A,A*4C
+$GPGSA,A,3,16,25,23,20,04,13,27,,,,,,2.8,1.7,2.3*3F
+$GPGST,222636.000,10.6,11.9,8.1,45.4,9.3,9.3,18.8*65
+$GPGSV,3,1,10,16,48,116,41,25,39,268,35,23,58,174,40,20,71,337,33*7C
+$GPGSV,3,2,10,19,03,029,,04,06,242,32,13,31,223,28,27,19,283,34*74
+$GPGSV,3,3,10,11,06,338,25,03,14,056,23*75
+$GPRMC,222636.000,A,2734.76577,S,15306.01258,E,7.6,135.7,030308,11.2,W,A*39
+$GPVTG,135.7,T,146.9,M,7.6,N,14.1,K,A*1C
+$GPGGA,222637.000,2734.76759,S,15306.01422,E,1,07,1.7,47.8,M,39.2,M,,*7F
+$GPGLL,2734.76759,S,15306.01422,E,222637.000,A,A*48
+$GPGSA,A,3,16,25,23,20,04,13,27,,,,,,2.8,1.7,2.3*3F
+$GPGST,222637.000,8.9,7.2,10.9,44.4,8.4,8.5,17.1*59
+$GPGSV,3,1,10,16,48,116,44,25,39,268,36,23,58,174,33,20,71,337,33*7E
+$GPGSV,3,2,10,19,03,029,,04,06,242,24,13,31,223,29,27,19,283,36*70
+$GPGSV,3,3,10,11,06,338,25,03,14,056,23*75
+$GPRMC,222637.000,A,2734.76759,S,15306.01422,E,8.0,140.6,030308,11.2,W,A*37
+$GPVTG,140.6,T,151.8,M,8.0,N,14.8,K,A*18
+$GPGGA,222638.000,2734.76957,S,15306.01592,E,1,06,2.0,47.6,M,39.2,M,,*71
+$GPGLL,2734.76957,S,15306.01592,E,222638.000,A,A*4D
+$GPGSA,A,3,16,25,23,20,04,13,,,,,,,3.2,2.0,2.6*30
+$GPGST,222638.000,10.4,8.9,16.3,14.1,8.7,14.6,19.9*51
+$GPGSV,3,1,10,16,48,116,38,25,39,268,30,23,58,174,29,20,71,337,29*73
+$GPGSV,3,2,10,19,03,029,,04,06,242,28,13,31,223,31,27,19,283,29*7B
+$GPGSV,3,3,10,11,06,338,21,03,14,056,23*71
+$GPRMC,222638.000,A,2734.76957,S,15306.01592,E,8.8,142.8,030308,11.2,W,A*36
+$GPVTG,142.8,T,154.0,M,8.8,N,16.2,K,A*19
+$GPGGA,222639.000,2734.77109,S,15306.01748,E,1,07,1.7,47.8,M,39.2,M,,*7C
+$GPGLL,2734.77109,S,15306.01748,E,222639.000,A,A*4B
+$GPGSA,A,3,16,25,23,20,04,13,27,,,,,,2.8,1.7,2.3*3F
+$GPGST,222639.000,9.5,9.6,14.7,43.8,11.3,11.5,19.8*51
+$GPGSV,3,1,10,16,48,116,37,25,39,268,32,23,58,174,37,20,71,337,29*71
+$GPGSV,3,2,10,19,03,029,,04,06,242,28,13,31,223,31,27,19,283,27*75
+$GPGSV,3,3,10,11,06,338,21,03,14,056,23*71
+$GPRMC,222639.000,A,2734.77109,S,15306.01748,E,7.1,137.2,030308,11.2,W,A*3E
+$GPVTG,137.2,T,148.4,M,7.1,N,13.1,K,A*18
+$GPGGA,222640.000,2734.77216,S,15306.02018,E,1,04,2.6,47.8,M,39.2,M,,*7F
+$GPGLL,2734.77216,S,15306.02018,E,222640.000,A,A*49
+$GPGSA,A,3,16,25,23,13,,,,,,,,,6.2,2.6,5.6*32
+$GPGST,222640.000,20.0,11.7,22.3,7.0,10.9,20.3,46.8*65
+$GPGSV,3,1,10,16,48,116,32,25,39,268,29,23,58,174,24,20,71,337,25*70
+$GPGSV,3,2,10,19,03,029,,04,06,242,28,13,31,223,31,27,19,283,25*77
+$GPGSV,3,3,10,11,06,338,21,03,14,056,23*71
+$GPRMC,222640.000,A,2734.77216,S,15306.02018,E,9.4,114.2,030308,11.2,W,A*36
+$GPVTG,114.2,T,125.4,M,9.4,N,17.4,K,A*18
+$GPGGA,222641.000,2734.77543,S,15306.02149,E,1,04,2.6,47.7,M,39.2,M,,*73
+$GPGLL,2734.77543,S,15306.02149,E,222641.000,A,A*4A
+$GPGSA,A,3,16,25,23,13,,,,,,,,,6.2,2.6,5.6*32
+$GPGST,222641.000,18.3,40.3,13.2,79.5,13.7,36.3,59.1*5E
+$GPGSV,3,1,10,16,48,116,34,25,39,268,23,23,58,174,26,20,71,337,27*7C
+$GPGSV,3,2,10,19,03,029,,04,06,242,28,13,31,223,31,27,19,283,23*71
+$GPGSV,3,3,10,11,06,338,21,03,14,056,23*71
+$GPRMC,222641.000,A,2734.77543,S,15306.02149,E,12.5,160.9,030308,11.2,W,A*06
+$GPVTG,160.9,T,172.1,M,12.5,N,23.1,K,A*2E
+$GPGGA,222642.000,2734.77709,S,15306.02300,E,1,04,2.6,47.7,M,39.2,M,,*73
+$GPGLL,2734.77709,S,15306.02300,E,222642.000,A,A*4A
+$GPGSA,A,3,16,20,04,13,,,,,,,,,4.3,2.6,3.4*35
+$GPGST,222642.000,15.8,14.5,71.8,20.7,26.3,61.6,97.2*58
+$GPGSV,3,1,10,16,48,116,41,25,40,268,23,23,58,174,27,20,71,337,34*73
+$GPGSV,3,2,10,19,03,029,,04,06,242,28,13,31,223,31,27,19,283,23*71
+$GPGSV,3,3,10,11,06,338,21,03,14,056,23*71
+$GPRMC,222642.000,A,2734.77709,S,15306.02300,E,7.5,140.7,030308,11.2,W,A*3E
+$GPVTG,140.7,T,151.9,M,7.5,N,13.9,K,A*14
+$GPGGA,222643.000,2734.77831,S,15306.02427,E,1,04,2.6,47.5,M,39.2,M,,*76
+$GPGLL,2734.77831,S,15306.02427,E,222643.000,A,A*4D
+$GPGSA,A,3,16,20,04,13,,,,,,,,,4.3,2.6,3.4*35
+$GPGST,222643.000,12.9,15.5,112.8,21.4,39.9,96.1,154.3*5C
+$GPGSV,3,1,10,16,48,116,41,25,40,268,23,23,58,174,26,20,71,337,35*73
+$GPGSV,3,2,10,19,03,029,,04,06,242,28,13,31,223,31,27,19,283,23*71
+$GPGSV,3,3,10,11,06,338,21,03,14,056,23*71
+$GPRMC,222643.000,A,2734.77831,S,15306.02427,E,5.6,136.2,030308,11.2,W,A*3C
+$GPVTG,136.2,T,147.4,M,5.6,N,10.4,K,A*15
+$GPGGA,222644.000,2734.77900,S,15306.02522,E,1,04,2.5,47.4,M,39.2,M,,*74
+$GPGLL,2734.77900,S,15306.02522,E,222644.000,A,A*4D
+$GPGSA,A,3,16,23,20,13,,,,,,,,,5.8,2.5,5.2*39
+$GPGST,222644.000,11.9,32.3,39.9,23.1,35.5,30.7,165.7*69
+$GPGSV,3,1,10,16,48,116,38,25,40,268,23,23,58,174,25,20,71,337,37*7C
+$GPGSV,3,2,10,19,03,029,,04,06,242,28,13,31,223,31,27,19,283,23*71
+$GPGSV,3,3,10,11,06,338,21,03,14,056,26*74
+$GPRMC,222644.000,A,2734.77900,S,15306.02522,E,3.7,127.8,030308,11.2,W,A*31
+$GPVTG,127.8,T,139.0,M,3.7,N,6.9,K,A*2F
+$GPGGA,222645.000,2734.77991,S,15306.02594,E,1,04,3.4,47.4,M,39.2,M,,*70
+$GPGLL,2734.77991,S,15306.02594,E,222645.000,A,A*49
+$GPGSA,A,3,16,23,20,03,,,,,,,,,6.1,3.4,5.0*30
+$GPGST,222645.000,15.3,40.1,15.0,66.6,34.1,19.2,69.1*50
+$GPGSV,3,1,10,16,48,116,33,25,40,268,23,23,58,174,23,20,71,337,35*73
+$GPGSV,3,2,10,19,03,029,,04,06,242,28,13,31,223,31,27,19,283,23*71
+$GPGSV,3,3,10,11,06,338,21,03,14,056,30*73
+$GPRMC,222645.000,A,2734.77991,S,15306.02594,E,3.9,145.4,030308,11.2,W,A*33
+$GPVTG,145.4,T,156.6,M,3.9,N,7.2,K,A*2C
+$GPGGA,222646.000,2734.78074,S,15306.02652,E,1,04,3.4,47.4,M,39.2,M,,*77
+$GPGLL,2734.78074,S,15306.02652,E,222646.000,A,A*4E
+$GPGSA,A,3,16,23,20,03,,,,,,,,,6.1,3.4,5.0*30
+$GPGST,222646.000,14.8,53.5,15.6,78.9,48.1,16.9,76.9*50
+$GPGSV,3,1,11,16,48,116,32,25,40,268,23,23,58,174,26,20,71,337,32*71
+$GPGSV,3,2,11,19,03,029,,04,06,242,28,13,31,223,31,27,19,283,23*70
+$GPGSV,3,3,11,11,06,338,21,08,00,298,,03,14,056,34*4D
+$GPRMC,222646.000,A,2734.78074,S,15306.02652,E,3.5,149.5,030308,11.2,W,A*35
+$GPVTG,149.5,T,160.7,M,3.5,N,6.6,K,A*2C
+$GPGGA,222647.000,2734.78140,S,15306.02704,E,1,04,3.4,47.3,M,39.2,M,,*75
+$GPGLL,2734.78140,S,15306.02704,E,222647.000,A,A*4B
+$GPGSA,A,3,16,23,20,03,,,,,,,,,6.1,3.4,5.0*30
+$GPGST,222647.000,11.7,42.4,13.1,77.7,38.0,14.3,60.9*53
+$GPGSV,3,1,11,16,48,116,37,25,40,268,23,23,58,174,31,20,71,337,36*76
+$GPGSV,3,2,11,19,03,029,,04,06,242,28,13,31,223,31,27,19,283,23*70
+$GPGSV,3,3,11,11,06,338,21,08,00,298,,03,14,056,34*4D
+$GPRMC,222647.000,A,2734.78140,S,15306.02704,E,2.8,145.4,030308,11.2,W,A*31
+$GPVTG,145.4,T,156.6,M,2.8,N,5.1,K,A*2D
+$GPGGA,222648.000,2734.78183,S,15306.02753,E,1,04,3.5,47.2,M,39.2,M,,*77
+$GPGLL,2734.78183,S,15306.02753,E,222648.000,A,A*49
+$GPGSA,A,3,16,23,20,03,,,,,,,,,6.1,3.5,5.0*31
+$GPGST,222648.000,11.3,35.2,16.9,76.3,31.5,16.9,53.8*53
+$GPGSV,3,1,11,16,48,116,35,25,40,267,23,23,58,174,37,20,71,337,35*7E
+$GPGSV,3,2,11,19,03,029,,04,06,242,28,13,31,223,31,27,19,283,23*70
+$GPGSV,3,3,11,11,06,338,21,08,00,298,,03,14,056,35*4C
+$GPRMC,222648.000,A,2734.78183,S,15306.02753,E,2.1,135.8,030308,11.2,W,A*31
+$GPVTG,135.8,T,147.1,M,2.1,N,3.9,K,A*26
+$GPGGA,222649.000,2734.78197,S,15306.02773,E,1,04,3.5,46.8,M,39.2,M,,*7A
+$GPGLL,2734.78197,S,15306.02773,E,222649.000,A,A*4F
+$GPGSA,A,3,16,23,20,03,,,,,,,,,6.1,3.5,5.0*31
+$GPGST,222649.000,13.9,60.8,14.8,84.0,55.3,14.7,79.7*52
+$GPGSV,3,1,11,16,48,116,31,25,40,267,23,23,58,174,36,20,71,337,31*7F
+$GPGSV,3,2,11,19,03,029,,04,06,242,,13,31,223,,27,19,283,23*78
+$GPGSV,3,3,11,11,06,338,21,08,00,298,,03,14,056,29*41
+$GPRMC,222649.000,A,2734.78197,S,15306.02773,E,0.6,148.6,030308,11.2,W,A*36
+$GPVTG,148.6,T,159.8,M,0.6,N,1.2,K,A*28
+$GPGGA,222650.000,2734.78195,S,15306.02785,E,1,04,3.5,46.4,M,39.2,M,,*75
+$GPGLL,2734.78195,S,15306.02785,E,222650.000,A,A*4C
+$GPGSA,A,3,16,23,20,03,,,,,,,,,6.1,3.5,5.0*31
+$GPGST,222650.000,11.4,48.0,12.9,83.3,43.6,12.8,63.8*5B
+$GPGSV,3,1,11,16,48,116,30,25,40,267,23,23,58,174,33,20,71,337,30*7A
+$GPGSV,3,2,11,19,03,029,,04,06,242,,13,31,223,,27,19,283,23*78
+$GPGSV,3,3,11,11,06,338,21,08,00,298,,03,14,056,26*4E
+$GPRMC,222650.000,A,2734.78195,S,15306.02785,E,0.2,6.4,030308,11.2,W,A*38
+$GPVTG,6.4,T,17.6,M,0.2,N,0.3,K,A*10
+$GPGGA,222651.000,2734.78191,S,15306.02798,E,1,04,3.5,45.9,M,39.2,M,,*72
+$GPGLL,2734.78191,S,15306.02798,E,222651.000,A,A*45
+$GPGSA,A,3,16,23,20,03,,,,,,,,,6.1,3.5,5.0*31
+$GPGST,222651.000,9.8,40.0,12.0,82.4,36.3,11.9,53.8*6E
+$GPGSV,3,1,11,16,48,116,28,25,40,267,,23,58,174,35,20,71,337,26*73
+$GPGSV,3,2,11,19,03,029,,04,06,242,,13,31,223,,27,19,283,*79
+$GPGSV,3,3,11,11,06,338,21,08,00,298,,03,14,056,28*40
+$GPRMC,222651.000,A,2734.78191,S,15306.02798,E,0.1,352.6,030308,11.2,W,A*32
+$GPVTG,352.6,T,3.8,M,0.1,N,0.3,K,A*28
+$GPGGA,222652.000,2734.78198,S,15306.02797,E,1,04,3.5,45.9,M,39.2,M,,*77
+$GPGLL,2734.78198,S,15306.02797,E,222652.000,A,A*40
+$GPGSA,A,3,16,23,20,03,,,,,,,,,6.1,3.5,5.0*31
+$GPGST,222652.000,21.7,41.2,15.0,83.8,37.5,14.2,91.6*58
+$GPGSV,3,1,11,16,48,116,24,25,40,267,,23,58,174,23,20,71,337,26*78
+$GPGSV,3,2,11,19,03,029,,04,06,242,,13,31,223,,27,19,283,*79
+$GPGSV,3,3,11,11,06,338,21,08,00,298,,03,14,056,24*4C
+$GPRMC,222652.000,A,2734.78198,S,15306.02797,E,0.2,263.5,030308,11.2,W,A*34
+$GPVTG,263.5,T,274.7,M,0.2,N,0.3,K,A*26
+$GPGGA,222653.000,2734.78226,S,15306.02793,E,1,04,3.5,45.9,M,39.2,M,,*74
+$GPGLL,2734.78226,S,15306.02793,E,222653.000,A,A*43
+$GPGSA,A,3,16,23,20,03,,,,,,,,,6.1,3.5,5.0*31
+$GPGST,222653.000,18.8,36.4,20.7,81.4,33.0,19.3,78.6*5F
+$GPGSV,3,1,11,16,48,116,24,25,40,267,,23,58,174,25,20,71,337,25*7D
+$GPGSV,3,2,11,19,03,029,,04,06,242,,13,31,223,,27,20,283,*73
+$GPGSV,3,3,11,11,06,338,21,08,00,298,,03,14,056,24*4C
+$GPRMC,222653.000,A,2734.78226,S,15306.02793,E,0.8,188.1,030308,11.2,W,A*3F
+$GPVTG,188.1,T,199.3,M,0.8,N,1.5,K,A*2D
+$GPGGA,222654.000,2734.78231,S,15306.02789,E,1,04,3.5,45.9,M,39.2,M,,*7E
+$GPGLL,2734.78231,S,15306.02789,E,222654.000,A,A*49
+$GPGSA,A,3,16,23,20,03,,,,,,,,,6.1,3.5,5.0*31
+$GPGST,222654.000,14.4,23.3,16.5,69.8,20.7,16.0,57.9*5D
+$GPGSV,3,1,11,16,48,116,34,25,40,267,,23,58,174,34,20,71,337,31*79
+$GPGSV,3,2,11,19,03,029,,04,06,242,,13,31,223,,27,20,283,*73
+$GPGSV,3,3,11,11,06,338,21,08,00,298,,03,14,056,31*48
+$GPRMC,222654.000,A,2734.78231,S,15306.02789,E,0.1,145.6,030308,11.2,W,A*3A
+$GPVTG,145.6,T,156.8,M,0.1,N,0.2,K,A*2C
+$GPGGA,222655.000,2734.78251,S,15306.02806,E,1,04,3.5,45.8,M,39.2,M,,*70
+$GPGLL,2734.78251,S,15306.02806,E,222655.000,A,A*46
+$GPGSA,A,3,16,23,20,03,,,,,,,,,6.1,3.5,5.0*31
+$GPGST,222655.000,12.0,28.1,14.0,78.7,25.3,13.6,52.5*54
+$GPGSV,3,1,11,16,48,116,40,25,40,267,,23,58,174,38,20,71,337,35*72
+$GPGSV,3,2,11,19,03,029,,04,06,242,,13,31,223,,27,20,283,*73
+$GPGSV,3,3,11,11,06,338,21,08,00,298,,03,14,056,36*4F
+$GPRMC,222655.000,A,2734.78251,S,15306.02806,E,0.7,135.5,030308,11.2,W,A*37
+$GPVTG,135.5,T,146.8,M,0.7,N,1.2,K,A*2E
+$GPGGA,222656.000,2734.78273,S,15306.02823,E,1,04,3.5,45.7,M,39.2,M,,*7B
+$GPGLL,2734.78273,S,15306.02823,E,222656.000,A,A*42
+$GPGSA,A,3,16,23,20,03,,,,,,,,,6.1,3.5,5.0*31
+$GPGST,222656.000,9.9,24.8,12.2,76.6,22.2,12.0,44.0*69
+$GPGSV,3,1,11,16,48,116,38,25,40,267,,23,58,174,36,20,71,337,30*76
+$GPGSV,3,2,11,19,03,029,,04,06,242,,13,31,223,,27,20,283,*73
+$GPGSV,3,3,11,11,06,338,21,08,00,298,,03,14,056,35*4C
+$GPRMC,222656.000,A,2734.78273,S,15306.02823,E,0.5,135.5,030308,11.2,W,A*31
+$GPVTG,135.5,T,146.7,M,0.5,N,1.0,K,A*21
+$GPGGA,222657.000,2734.78312,S,15306.02858,E,1,04,3.5,45.5,M,39.2,M,,*72
+$GPGLL,2734.78312,S,15306.02858,E,222657.000,A,A*49
+$GPGSA,A,3,16,23,20,03,,,,,,,,,6.1,3.5,5.0*31
+$GPGST,222657.000,8.4,22.4,10.9,74.9,19.9,11.0,38.1*60
+$GPGSV,3,1,11,16,48,116,37,25,40,267,,23,58,174,36,20,71,337,30*79
+$GPGSV,3,2,11,19,03,029,,04,06,242,,13,31,223,,27,20,283,*73
+$GPGSV,3,3,11,11,06,338,21,08,00,298,,03,14,056,34*4D
+$GPRMC,222657.000,A,2734.78312,S,15306.02858,E,1.3,137.6,030308,11.2,W,A*3C
+$GPVTG,137.6,T,148.8,M,1.3,N,2.4,K,A*21
+$GPGGA,222658.000,2734.78370,S,15306.02910,E,1,04,3.5,45.4,M,39.2,M,,*75
+$GPGLL,2734.78370,S,15306.02910,E,222658.000,A,A*4F
+$GPGSA,A,3,16,23,20,03,,,,,,,,,6.1,3.5,5.0*31
+$GPGST,222658.000,11.5,25.4,19.7,45.8,20.9,20.7,46.1*53
+$GPGSV,3,1,11,16,48,116,34,25,40,267,18,23,58,174,36,20,71,337,32*71
+$GPGSV,3,2,11,19,03,029,,04,06,242,,13,31,223,,27,20,283,*73
+$GPGSV,3,3,11,11,06,338,,08,00,298,,03,14,056,32*48
+$GPRMC,222658.000,A,2734.78370,S,15306.02910,E,2.7,141.8,030308,11.2,W,A*32
+$GPVTG,141.8,T,153.0,M,2.7,N,5.0,K,A*28
+$GPGGA,222659.000,2734.78463,S,15306.02956,E,1,04,3.5,45.4,M,39.2,M,,*73
+$GPGLL,2734.78463,S,15306.02956,E,222659.000,A,A*49
+$GPGSA,A,3,16,23,20,03,,,,,,,,,6.1,3.5,5.0*31
+$GPGST,222659.000,10.9,34.8,17.8,79.2,31.4,17.1,52.2*5E
+$GPGSV,3,1,11,16,48,116,32,25,40,267,18,23,58,174,37,20,71,337,32*76
+$GPGSV,3,2,11,19,03,029,,04,06,242,,13,31,223,,27,20,283,*73
+$GPGSV,3,3,11,11,06,338,,08,00,298,,03,14,056,26*4D
+$GPRMC,222659.000,A,2734.78463,S,15306.02956,E,3.6,157.2,030308,11.2,W,A*39
+$GPVTG,157.2,T,168.4,M,3.6,N,6.7,K,A*2D
+$GPGGA,222700.000,2734.78553,S,15306.02974,E,1,04,3.5,45.3,M,39.2,M,,*7B
+$GPGLL,2734.78553,S,15306.02974,E,222700.000,A,A*46
+$GPGSA,A,3,16,23,20,03,,,,,,,,,6.1,3.5,5.0*31
+$GPGST,222700.000,13.4,30.5,15.4,80.9,27.6,14.6,58.2*5C
+$GPGSV,3,1,11,16,48,116,38,25,40,267,18,23,58,174,42,20,71,337,34*78
+$GPGSV,3,2,11,19,03,029,,04,06,242,,13,31,223,,27,20,283,*73
+$GPGSV,3,3,11,11,06,338,,08,00,298,,03,14,056,30*4A
+$GPRMC,222700.000,A,2734.78553,S,15306.02974,E,3.1,171.1,030308,11.2,W,A*36
+$GPVTG,171.1,T,182.3,M,3.1,N,5.7,K,A*2D
+$GPGGA,222701.000,2734.78678,S,15306.02887,E,1,05,1.6,45.4,M,39.2,M,,*7A
+$GPGLL,2734.78678,S,15306.02887,E,222701.000,A,A*40
+$GPGSA,A,3,16,23,20,13,03,,,,,,,,2.5,1.6,1.9*3F
+$GPGST,222701.000,18.6,22.3,33.4,25.2,29.0,22.6,46.2*53
+$GPGSV,3,1,11,16,48,116,30,25,40,267,18,23,58,174,33,20,71,337,27*74
+$GPGSV,3,2,11,19,03,029,,04,06,242,,13,31,223,20,27,20,283,*71
+$GPGSV,3,3,11,11,06,338,,08,00,298,,03,14,056,27*4C
+$GPRMC,222701.000,A,2734.78678,S,15306.02887,E,5.1,212.6,030308,11.2,W,A*37
+$GPVTG,212.6,T,223.8,M,5.1,N,9.5,K,A*27
+$GPGGA,222702.000,2734.78726,S,15306.02769,E,1,04,3.5,45.3,M,39.2,M,,*7B
+$GPGLL,2734.78726,S,15306.02769,E,222702.000,A,A*46
+$GPGSA,A,3,16,23,20,03,,,,,,,,,6.1,3.5,5.0*31
+$GPGST,222702.000,14.7,49.5,20.8,84.3,45.1,19.5,72.8*5F
+$GPGSV,3,1,11,16,48,116,36,25,40,267,18,23,58,174,40,20,71,337,31*71
+$GPGSV,3,2,11,19,03,029,,04,06,242,,13,31,223,20,27,20,283,*71
+$GPGSV,3,3,11,11,06,338,,08,00,298,,03,14,056,28*43
+$GPRMC,222702.000,A,2734.78726,S,15306.02769,E,4.2,246.4,030308,11.2,W,A*30
+$GPVTG,246.4,T,257.6,M,4.2,N,7.7,K,A*27
+$GPGGA,222703.000,2734.78745,S,15306.02617,E,1,05,1.6,45.3,M,39.2,M,,*77
+$GPGLL,2734.78745,S,15306.02617,E,222703.000,A,A*4A
+$GPGSA,A,3,16,23,20,13,03,,,,,,,,2.5,1.6,1.9*3F
+$GPGST,222703.000,12.3,16.0,23.0,21.5,20.3,15.6,33.1*53
+$GPGSV,3,1,11,16,48,116,31,25,40,267,18,23,58,174,29,20,70,337,23*7B
+$GPGSV,3,2,11,19,03,029,,04,06,242,,13,31,223,22,27,20,283,*73
+$GPGSV,3,3,11,11,06,338,,08,00,298,,03,14,056,27*4C
+$GPRMC,222703.000,A,2734.78745,S,15306.02617,E,4.9,265.5,030308,11.2,W,A*37
+$GPVTG,265.5,T,276.7,M,4.9,N,9.1,K,A*26
+$GPGGA,222704.000,2734.78730,S,15306.02555,E,1,04,3.5,45.3,M,39.2,M,,*77
+$GPGLL,2734.78730,S,15306.02555,E,222704.000,A,A*4A
+$GPGSA,A,3,16,23,20,03,,,,,,,,,6.1,3.5,5.1*30
+$GPGST,222704.000,9.5,34.0,22.1,80.5,30.8,20.6,55.7*69
+$GPGSV,3,1,11,16,48,116,31,25,40,267,18,23,58,174,29,20,70,337,23*7B
+$GPGSV,3,2,11,19,03,029,,04,06,242,,13,31,223,22,27,20,283,*73
+$GPGSV,3,3,11,11,06,338,,08,00,298,,03,14,056,31*4B
+$GPRMC,222704.000,A,2734.78730,S,15306.02555,E,2.1,286.5,030308,11.2,W,A*34
+$GPVTG,286.5,T,297.7,M,2.1,N,3.9,K,A*28
+$GPGGA,222705.000,2734.78698,S,15306.02452,E,1,04,3.5,45.3,M,39.2,M,,*73
+$GPGLL,2734.78698,S,15306.02452,E,222705.000,A,A*4E
+$GPGSA,A,3,16,23,20,03,,,,,,,,,6.1,3.5,5.1*30
+$GPGST,222705.000,93.8,65.1,31.9,84.0,59.3,29.7,94.1*5F
+$GPGSV,3,1,11,16,48,116,29,25,40,267,18,23,58,174,29,20,70,337,23*72
+$GPGSV,3,2,11,19,03,029,,04,06,242,,13,31,223,22,27,20,283,*73
+$GPGSV,3,3,11,11,06,338,,08,00,298,,03,14,056,30*4A
+$GPRMC,222705.000,A,2734.78698,S,15306.02452,E,3.6,290.3,030308,11.2,W,A*37
+$GPVTG,290.3,T,301.5,M,3.6,N,6.8,K,A*27
+$GPGGA,222706.000,2734.78686,S,15306.02339,E,1,04,3.5,45.3,M,39.2,M,,*75
+$GPGLL,2734.78686,S,15306.02339,E,222706.000,A,A*48
+$GPGSA,A,3,16,23,20,03,,,,,,,,,6.1,3.5,5.1*30
+$GPGST,222706.000,114.3,62.0,48.3,70.3,55.4,45.7,116.3*5B
+$GPGSV,3,1,11,16,48,116,24,25,40,267,18,23,58,174,29,20,70,337,23*7F
+$GPGSV,3,2,11,19,03,029,,04,06,242,,13,31,223,22,27,20,283,*73
+$GPGSV,3,3,11,11,06,338,,08,00,298,,03,14,056,24*4F
+$GPRMC,222706.000,A,2734.78686,S,15306.02339,E,3.4,277.7,030308,11.2,W,A*3E
+$GPVTG,277.7,T,288.9,M,3.4,N,6.3,K,A*2F
+$GPGGA,222707.000,2734.78679,S,15306.02251,E,1,04,3.5,45.3,M,39.2,M,,*7B
+$GPGLL,2734.78679,S,15306.02251,E,222707.000,A,A*46
+$GPGSA,A,3,16,23,20,03,,,,,,,,,6.1,3.5,5.1*30
+$GPGST,222707.000,128.0,90.0,67.0,53.0,75.4,69.6,158.6*55
+$GPGSV,3,1,11,16,48,116,24,25,40,267,18,23,58,174,29,20,70,337,23*7F
+$GPGSV,3,2,11,19,03,029,,04,06,242,,13,31,223,22,27,20,283,*73
+$GPGSV,3,3,11,11,06,338,,08,00,298,,03,14,056,24*4F
+$GPRMC,222707.000,A,2734.78679,S,15306.02251,E,,,030308,,,A*79
+$GPVTG,,T,,M,,N,,K,N*2C
+$GPGGA,222708.000,2734.78673,S,15306.02181,E,1,05,1.6,45.3,M,39.2,M,,*70
+$GPGLL,2734.78673,S,15306.02181,E,222708.000,A,A*4D
+$GPGSA,A,3,16,23,20,13,03,,,,,,,,2.5,1.6,1.9*3F
+$GPGST,222708.000,66.8,93.0,70.5,62.6,69.3,81.1,141.7*6F
+$GPGSV,3,1,11,16,48,116,24,25,40,267,,23,58,174,29,20,70,337,23*76
+$GPGSV,3,2,11,19,03,029,,04,06,242,,13,31,222,22,27,20,283,*72
+$GPGSV,3,3,11,11,06,338,,08,00,298,,03,14,056,24*4F
+$GPRMC,222708.000,A,2734.78673,S,15306.02181,E,,,030308,,,A*72
+$GPVTG,,T,,M,,N,,K,N*2C
+$GPGGA,222709.000,2734.78668,S,15306.02124,E,1,05,1.6,45.3,M,39.2,M,,*74
+$GPGLL,2734.78668,S,15306.02124,E,222709.000,A,A*49
+$GPGSA,A,2,16,23,20,13,03,,,,,,,,1.8,1.6,0.9*31
+$GPGST,222709.000,89.5,61.2,117.7,37.9,91.7,79.5,4.3*54
+$GPGSV,3,1,11,16,48,116,24,25,40,267,,23,58,174,29,20,70,337,23*76
+$GPGSV,3,2,11,19,03,029,,04,06,242,,13,31,222,22,27,20,283,*72
+$GPGSV,3,3,11,11,06,338,,08,00,298,,03,14,056,24*4F
+$GPRMC,222709.000,A,2734.78668,S,15306.02124,E,,,030308,,,A*76
+$GPVTG,,T,,M,,N,,K,N*2C
+$GPGGA,222710.000,2734.78664,S,15306.02080,E,1,05,1.6,45.3,M,39.2,M,,*7F
+$GPGLL,2734.78664,S,15306.02080,E,222710.000,A,A*42
+$GPGSA,A,2,16,23,20,13,03,,,,,,,,1.8,1.6,0.9*31
+$GPGST,222710.000,117.0,82.3,157.6,39.0,121.7,107.9,3.9*62
+$GPGSV,3,1,11,16,48,116,24,25,40,267,,23,58,174,29,20,70,337,23*76
+$GPGSV,3,2,11,19,03,029,,04,06,242,,13,31,222,22,27,20,283,*72
+$GPGSV,3,3,11,11,06,338,,08,00,298,,03,14,056,24*4F
+$GPRMC,222710.000,A,2734.78664,S,15306.02080,E,,,030308,,,A*7D
+$GPVTG,,T,,M,,N,,K,N*2C
+$GPGGA,222711.000,2734.78660,S,15306.02044,E,1,05,1.6,45.3,M,39.2,M,,*72
+$GPGLL,2734.78660,S,15306.02044,E,222711.000,A,A*4F
+$GPGSA,A,2,16,23,20,13,03,,,,,,,,1.8,1.6,0.9*31
+$GPGST,222711.000,128.0,107.6,205.2,40.2,156.7,142.6,3.5*58
+$GPGSV,3,1,11,16,48,116,24,25,40,267,,23,58,174,29,20,70,337,23*76
+$GPGSV,3,2,11,19,03,029,,04,06,242,,13,31,222,22,27,20,283,*72
+$GPGSV,3,3,11,11,06,338,,08,00,298,,03,14,056,24*4F
+$GPRMC,222711.000,A,2734.78660,S,15306.02044,E,,,030308,,,A*70
+$GPVTG,,T,,M,,N,,K,N*2C
+$GPGGA,222712.000,2734.78658,S,15306.02015,E,1,05,1.6,45.3,M,39.2,M,,*7E
+$GPGLL,2734.78658,S,15306.02015,E,222712.000,A,A*43
+$GPGSA,A,2,16,23,20,13,03,,,,,,,,1.8,1.6,0.9*31
+$GPGST,222712.000,128.0,137.2,261.1,41.4,197.4,183.9,3.2*51
+$GPGSV,3,1,11,16,48,116,24,25,40,267,,23,58,173,29,20,70,337,23*71
+$GPGSV,3,2,11,19,03,029,,04,06,242,,13,31,222,22,27,20,283,*72
+$GPGSV,3,3,11,11,06,338,,08,00,298,,03,14,056,24*4F
+$GPRMC,222712.000,A,2734.78658,S,15306.02015,E,,,030308,,,A*7C \ No newline at end of file
diff --git a/examples/declarative/landmarkmap/qmllandmarkmap.cpp b/examples/declarative/landmarkmap/qmllandmarkmap.cpp
new file mode 100644
index 00000000..5dd2d900
--- /dev/null
+++ b/examples/declarative/landmarkmap/qmllandmarkmap.cpp
@@ -0,0 +1,64 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Mobility Components.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtGui/QApplication>
+#include <QtDeclarative/QDeclarativeView>
+#include <QtDeclarative/QDeclarativeEngine>
+#include <QDir>
+
+int main(int argc, char *argv[])
+{
+ QApplication application(argc, argv);
+ QDir::setCurrent(QApplication::applicationDirPath());
+ const QString mainQmlApp = QLatin1String("qrc:///landmarkmap.qml");
+ QDeclarativeView view;
+ view.setSource(QUrl(mainQmlApp));
+ view.setResizeMode(QDeclarativeView::SizeRootObjectToView);
+ // Qt.quit() called in embedded .qml by default only emits
+ // quit() signal, so do this (optionally use Qt.exit()).
+ QObject::connect(view.engine(), SIGNAL(quit()), qApp, SLOT(quit()));
+#if defined(Q_OS_SYMBIAN) || defined(Q_WS_MAEMO_6)
+ view.showFullScreen();
+#else
+ view.setGeometry(QRect(100, 100, 360, 640));
+ view.show();
+#endif
+ return application.exec();
+}
diff --git a/examples/declarative/mapviewer/TitleBar.qml b/examples/declarative/mapviewer/TitleBar.qml
new file mode 100755
index 00000000..0490393d
--- /dev/null
+++ b/examples/declarative/mapviewer/TitleBar.qml
@@ -0,0 +1,76 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Mobility Components.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+Item {
+ id: titleBar
+ BorderImage { source: "titlebar.sci"; width: parent.width; height: parent.height + 14; y: -7 }
+
+ Item {
+ id: container
+ width: (parent.width * 2) - 55 ; height: parent.height
+
+ Image {
+ id: quitButton
+ anchors.left: parent.left//; anchors.leftMargin: 0
+ anchors.verticalCenter: parent.verticalCenter
+ source: "quit.png"
+ MouseArea {
+ anchors.fill: parent
+ onClicked: Qt.quit()
+ }
+ }
+
+ Text {
+ id: categoryText
+ anchors {
+ left: quitButton.right; leftMargin: 10; rightMargin: 10
+ verticalCenter: parent.verticalCenter
+ }
+ elide: Text.ElideLeft
+ text: "Mapviewer example"
+ font.bold: true; color: "White"; style: Text.Raised; styleColor: "Black"
+ }
+ }
+ transitions: Transition {
+ NumberAnimation { properties: "x"; easing.type: Easing.InOutQuad }
+ }
+}
diff --git a/examples/declarative/mapviewer/mapviewer.pro b/examples/declarative/mapviewer/mapviewer.pro
new file mode 100644
index 00000000..5a787021
--- /dev/null
+++ b/examples/declarative/mapviewer/mapviewer.pro
@@ -0,0 +1,19 @@
+TARGET = qml_location_mapviewer
+TEMPLATE=app
+
+QT += declarative network
+SOURCES += qmlmapviewer.cpp
+
+symbian {
+ TARGET.CAPABILITY = NetworkServices Location ReadUserData WriteUserData
+ TARGET.EPOCHEAPSIZE = 0x20000 0x2000000
+}
+
+RESOURCES += \
+ mapviewer.qrc
+
+target.path = $$[QT_INSTALL_DEMOS]/qtlocation/declarative/mapviewer
+sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS *.pro *.qml *.png *.sci
+sources.path = $$[QT_INSTALL_DEMOS]/qtlocation/declarative/mapviewer
+
+INSTALLS += target sources
diff --git a/examples/declarative/mapviewer/mapviewer.qml b/examples/declarative/mapviewer/mapviewer.qml
new file mode 100644
index 00000000..b5eee068
--- /dev/null
+++ b/examples/declarative/mapviewer/mapviewer.qml
@@ -0,0 +1,128 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Mobility Components.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+import QtMobility.location 1.2
+
+Item {
+ width: 500
+ height: 500
+
+ focus : true
+ TitleBar { id: titleBar; z: 5; width: parent.width; height: 40; opacity: 0.9 }
+
+ Map {
+ id: map
+ z : 1
+ plugin : Plugin {
+ name : "nokia"
+ }
+ size.width: parent.width
+ size.height: parent.height
+ zoomLevel: 7
+ center: Coordinate {
+ latitude: 51.5
+ longitude: -0.11
+ }
+
+ MapCircle {
+ id : circle
+ center : Coordinate {
+ latitude : 51.5
+ longitude : -0.11
+ }
+ color : "#80FF0000"
+ radius : 1000.0
+ MapMouseArea {
+ onPositionChanged: {
+ if (mouse.button == Qt.LeftButton)
+ circle.center = mouse.coordinate
+ if (mouse.button == Qt.RightButton)
+ circle.radius = circle.center.distanceTo(mouse.coordinate)
+ }
+ }
+ }
+
+ MapMouseArea {
+ property int lastX : -1
+ property int lastY : -1
+
+ onPressed : {
+ lastX = mouse.x
+ lastY = mouse.y
+ }
+ onReleased : {
+ lastX = -1
+ lastY = -1
+ }
+ onPositionChanged: {
+ if (mouse.button == Qt.LeftButton) {
+ if ((lastX != -1) && (lastY != -1)) {
+ var dx = mouse.x - lastX
+ var dy = mouse.y - lastY
+ map.pan(-dx, -dy)
+ }
+ lastX = mouse.x
+ lastY = mouse.y
+ }
+ }
+ onDoubleClicked: {
+ map.center = mouse.coordinate
+ map.zoomLevel += 1
+ lastX = -1
+ lastY = -1
+ }
+ }
+ }
+
+ Keys.onPressed: {
+ if (event.key == Qt.Key_Plus) {
+ map.zoomLevel += 1
+ } else if (event.key == Qt.Key_Minus) {
+ map.zoomLevel -= 1
+ } else if (event.key == Qt.Key_T) {
+ if (map.mapType == Map.StreetMap) {
+ map.mapType = Map.SatelliteMapDay
+ } else if (map.mapType == Map.SatelliteMapDay) {
+ map.mapType = Map.StreetMap
+ }
+ }
+ }
+}
diff --git a/examples/declarative/mapviewer/mapviewer.qrc b/examples/declarative/mapviewer/mapviewer.qrc
new file mode 100644
index 00000000..5cb155c4
--- /dev/null
+++ b/examples/declarative/mapviewer/mapviewer.qrc
@@ -0,0 +1,9 @@
+<RCC version="1.0">
+ <qresource prefix="/">
+ <file>mapviewer.qml</file>
+ <file>TitleBar.qml</file>
+ <file>quit.png</file>
+ <file>titlebar.png</file>
+ <file>titlebar.sci</file>
+ </qresource>
+</RCC>
diff --git a/examples/declarative/mapviewer/qmlmapviewer.cpp b/examples/declarative/mapviewer/qmlmapviewer.cpp
new file mode 100644
index 00000000..f68cf1a0
--- /dev/null
+++ b/examples/declarative/mapviewer/qmlmapviewer.cpp
@@ -0,0 +1,62 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Mobility Components.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtGui/QApplication>
+#include <QtDeclarative/QDeclarativeView>
+#include <QtDeclarative/QDeclarativeEngine>
+
+int main(int argc, char *argv[])
+{
+ QApplication application(argc, argv);
+ const QString mainQmlApp = QLatin1String("qrc:///mapviewer.qml");
+ QDeclarativeView view;
+ view.setSource(QUrl(mainQmlApp));
+ view.setResizeMode(QDeclarativeView::SizeRootObjectToView);
+ // Qt.quit() called in embedded .qml by default only emits
+ // quit() signal, so do this (optionally use Qt.exit()).
+ QObject::connect(view.engine(), SIGNAL(quit()), qApp, SLOT(quit()));
+#if defined(Q_OS_SYMBIAN) || defined(Q_WS_MAEMO_6)
+ view.showFullScreen();
+#else
+ view.setGeometry(QRect(100, 100, 360, 640));
+ view.show();
+#endif
+ return application.exec();
+}
diff --git a/examples/declarative/mapviewer/quit.png b/examples/declarative/mapviewer/quit.png
new file mode 100755
index 00000000..5bda1b6e
--- /dev/null
+++ b/examples/declarative/mapviewer/quit.png
Binary files differ
diff --git a/examples/declarative/mapviewer/titlebar.png b/examples/declarative/mapviewer/titlebar.png
new file mode 100755
index 00000000..51c90082
--- /dev/null
+++ b/examples/declarative/mapviewer/titlebar.png
Binary files differ
diff --git a/examples/declarative/mapviewer/titlebar.sci b/examples/declarative/mapviewer/titlebar.sci
new file mode 100755
index 00000000..0418d94c
--- /dev/null
+++ b/examples/declarative/mapviewer/titlebar.sci
@@ -0,0 +1,5 @@
+border.left: 10
+border.top: 12
+border.bottom: 12
+border.right: 10
+source: titlebar.png
diff --git a/examples/examples.pro b/examples/examples.pro
new file mode 100644
index 00000000..03c4a217
--- /dev/null
+++ b/examples/examples.pro
@@ -0,0 +1,2 @@
+TEMPLATE = subdirs
+SUBDIRS += declarative
diff --git a/qtlocation.pro b/qtlocation.pro
index cbdefdf6..a5d63662 100644
--- a/qtlocation.pro
+++ b/qtlocation.pro
@@ -3,10 +3,6 @@ TEMPLATE = subdirs
module_qtlocation_src.subdir = src
module_qtlocation_src.target = module-qtlocation-src
-module_qtlocation_tools.subdir = tools
-module_qtlocation_tools.target = module-qtlocation-tools
-module_qtlocation_tools.depends = module_qtlocation_src
-
module_qtlocation_demos.subdir = demos
module_qtlocation_demos.target = module-qtlocation-demos
module_qtlocation_demos.depends = module_qtlocation_src
@@ -22,7 +18,6 @@ module_qtlocation_tests.CONFIG = no_default_target no_default_install
SUBDIRS += module_qtlocation_src \
-# module_qtlocation_tools \
-# module_qtlocation_demos \
-# module_qtlocation_examples \
+ module_qtlocation_demos \
+ module_qtlocation_examples \
# module_qtlocation_tests \