summaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorIvan Solovev <ivan.solovev@qt.io>2021-10-21 17:27:08 +0200
committerIvan Solovev <ivan.solovev@qt.io>2021-10-27 11:24:52 +0200
commit23f32792ad53e23bbafbff6d7667f0bb0f69fc53 (patch)
tree44b193a019432b664ed3e3967bd276849132d24b /examples
parentd2871cc9d864306fa7a985d4d5d4353c9369f44a (diff)
downloadqtlocation-23f32792ad53e23bbafbff6d7667f0bb0f69fc53.tar.gz
Remove QtPositioning module from qtlocation.git
Turns out that our CI does not support repos without any tests. This is treated like an error and leads to integration failure. This patch fixes it by disabling tests in coin/module_config.yaml. This config should be fixed when QtLocation tests are enabled Pick-to: 6.2 Task-number: QTBUG-97084 Change-Id: Ib06e865fe2836806bbbee34345f06b471dd48660 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
Diffstat (limited to 'examples')
-rw-r--r--examples/CMakeLists.txt3
-rw-r--r--examples/examples.pro6
-rw-r--r--examples/positioning/CMakeLists.txt14
-rw-r--r--examples/positioning/geoflickr/CMakeLists.txt83
-rw-r--r--examples/positioning/geoflickr/doc/images/qml-flickr-1.jpgbin66794 -> 0 bytes
-rw-r--r--examples/positioning/geoflickr/doc/src/geoflickr.qdoc88
-rw-r--r--examples/positioning/geoflickr/flickr-90.qml61
-rw-r--r--examples/positioning/geoflickr/flickr.qml147
-rw-r--r--examples/positioning/geoflickr/flickr.qrc30
-rw-r--r--examples/positioning/geoflickr/flickrcommon/Progress.qml82
-rw-r--r--examples/positioning/geoflickr/flickrcommon/RestModel.qml74
-rw-r--r--examples/positioning/geoflickr/flickrcommon/ScrollBar.qml90
-rw-r--r--examples/positioning/geoflickr/flickrcommon/Slider.qml86
-rw-r--r--examples/positioning/geoflickr/flickrmobile/Button.qml88
-rw-r--r--examples/positioning/geoflickr/flickrmobile/GeoTab.qml182
-rw-r--r--examples/positioning/geoflickr/flickrmobile/GridDelegate.qml124
-rw-r--r--examples/positioning/geoflickr/flickrmobile/ImageDetails.qml166
-rw-r--r--examples/positioning/geoflickr/flickrmobile/ListDelegate.qml76
-rw-r--r--examples/positioning/geoflickr/flickrmobile/TitleBar.qml87
-rw-r--r--examples/positioning/geoflickr/flickrmobile/ToolBar.qml74
-rw-r--r--examples/positioning/geoflickr/flickrmobile/images/gloss.pngbin889 -> 0 bytes
-rw-r--r--examples/positioning/geoflickr/flickrmobile/images/lineedit.pngbin1307 -> 0 bytes
-rw-r--r--examples/positioning/geoflickr/flickrmobile/images/lineedit.sci5
-rw-r--r--examples/positioning/geoflickr/flickrmobile/images/moon.pngbin2366 -> 0 bytes
-rw-r--r--examples/positioning/geoflickr/flickrmobile/images/quit.pngbin1785 -> 0 bytes
-rw-r--r--examples/positioning/geoflickr/flickrmobile/images/star.pngbin259 -> 0 bytes
-rw-r--r--examples/positioning/geoflickr/flickrmobile/images/stripes.pngbin159 -> 0 bytes
-rw-r--r--examples/positioning/geoflickr/flickrmobile/images/sun.pngbin8110 -> 0 bytes
-rw-r--r--examples/positioning/geoflickr/flickrmobile/images/titlebar.pngbin1327 -> 0 bytes
-rw-r--r--examples/positioning/geoflickr/flickrmobile/images/titlebar.sci5
-rw-r--r--examples/positioning/geoflickr/flickrmobile/images/toolbutton.pngbin2550 -> 0 bytes
-rw-r--r--examples/positioning/geoflickr/flickrmobile/images/toolbutton.sci5
-rw-r--r--examples/positioning/geoflickr/flickrmobile/nmealog.txt1403
-rw-r--r--examples/positioning/geoflickr/geoflickr.pro15
-rw-r--r--examples/positioning/geoflickr/geoflickr.qmlproject16
-rw-r--r--examples/positioning/geoflickr/qmllocationflickr.cpp68
-rw-r--r--examples/positioning/logfilepositionsource/CMakeLists.txt54
-rw-r--r--examples/positioning/logfilepositionsource/clientapplication.cpp72
-rw-r--r--examples/positioning/logfilepositionsource/clientapplication.h74
-rw-r--r--examples/positioning/logfilepositionsource/doc/src/logfilepositionsource.qdoc94
-rw-r--r--examples/positioning/logfilepositionsource/logfile.qrc5
-rw-r--r--examples/positioning/logfilepositionsource/logfilepositionsource.cpp136
-rw-r--r--examples/positioning/logfilepositionsource/logfilepositionsource.h88
-rw-r--r--examples/positioning/logfilepositionsource/logfilepositionsource.pro16
-rw-r--r--examples/positioning/logfilepositionsource/main.cpp62
-rw-r--r--examples/positioning/logfilepositionsource/simplelog.txt156
-rw-r--r--examples/positioning/positioning.pro9
-rw-r--r--examples/positioning/satelliteinfo/CMakeLists.txt49
-rw-r--r--examples/positioning/satelliteinfo/doc/images/example-satelliteinfo.pngbin27371 -> 0 bytes
-rw-r--r--examples/positioning/satelliteinfo/doc/src/satelliteinfo.qdoc134
-rw-r--r--examples/positioning/satelliteinfo/main.cpp71
-rw-r--r--examples/positioning/satelliteinfo/satelliteinfo.pro26
-rw-r--r--examples/positioning/satelliteinfo/satelliteinfo.qml316
-rw-r--r--examples/positioning/satelliteinfo/satelliteinfo.qrc5
-rw-r--r--examples/positioning/satelliteinfo/satellitemodel.cpp324
-rw-r--r--examples/positioning/satelliteinfo/satellitemodel.h140
-rw-r--r--examples/positioning/weatherinfo/CMakeLists.txt80
-rw-r--r--examples/positioning/weatherinfo/appmodel.cpp514
-rw-r--r--examples/positioning/weatherinfo/appmodel.h190
-rw-r--r--examples/positioning/weatherinfo/components/BigForecastIcon.qml92
-rw-r--r--examples/positioning/weatherinfo/components/ForecastIcon.qml99
-rw-r--r--examples/positioning/weatherinfo/components/WeatherIcon.qml64
-rw-r--r--examples/positioning/weatherinfo/doc/images/example-weatherinfo.pngbin70264 -> 0 bytes
-rw-r--r--examples/positioning/weatherinfo/doc/src/weatherinfo.qdoc164
-rw-r--r--examples/positioning/weatherinfo/icons/README.txt5
-rw-r--r--examples/positioning/weatherinfo/icons/qt_attribution.json28
-rw-r--r--examples/positioning/weatherinfo/icons/weather-few-clouds.pngbin79488 -> 0 bytes
-rw-r--r--examples/positioning/weatherinfo/icons/weather-fog.pngbin43896 -> 0 bytes
-rw-r--r--examples/positioning/weatherinfo/icons/weather-haze.pngbin130030 -> 0 bytes
-rw-r--r--examples/positioning/weatherinfo/icons/weather-icy.pngbin49362 -> 0 bytes
-rw-r--r--examples/positioning/weatherinfo/icons/weather-overcast.pngbin60290 -> 0 bytes
-rw-r--r--examples/positioning/weatherinfo/icons/weather-showers-scattered.pngbin76000 -> 0 bytes
-rw-r--r--examples/positioning/weatherinfo/icons/weather-showers.pngbin76340 -> 0 bytes
-rw-r--r--examples/positioning/weatherinfo/icons/weather-sleet.pngbin87168 -> 0 bytes
-rw-r--r--examples/positioning/weatherinfo/icons/weather-snow.pngbin70939 -> 0 bytes
-rw-r--r--examples/positioning/weatherinfo/icons/weather-storm.pngbin93207 -> 0 bytes
-rw-r--r--examples/positioning/weatherinfo/icons/weather-sunny-very-few-clouds.pngbin65731 -> 0 bytes
-rw-r--r--examples/positioning/weatherinfo/icons/weather-sunny.pngbin59084 -> 0 bytes
-rw-r--r--examples/positioning/weatherinfo/icons/weather-thundershower.pngbin105643 -> 0 bytes
-rw-r--r--examples/positioning/weatherinfo/ios/Info.plist39
-rw-r--r--examples/positioning/weatherinfo/main.cpp74
-rw-r--r--examples/positioning/weatherinfo/openweathermapbackend.cpp265
-rw-r--r--examples/positioning/weatherinfo/openweathermapbackend.h85
-rw-r--r--examples/positioning/weatherinfo/providerbackend.cpp53
-rw-r--r--examples/positioning/weatherinfo/providerbackend.h90
-rw-r--r--examples/positioning/weatherinfo/weatherapibackend.cpp266
-rw-r--r--examples/positioning/weatherinfo/weatherapibackend.h80
-rw-r--r--examples/positioning/weatherinfo/weatherinfo.pro34
-rw-r--r--examples/positioning/weatherinfo/weatherinfo.qml208
-rw-r--r--examples/positioning/weatherinfo/weatherinfo.qrc21
90 files changed, 1 insertions, 7359 deletions
diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt
index 04b5b3f5..a87e6e14 100644
--- a/examples/CMakeLists.txt
+++ b/examples/CMakeLists.txt
@@ -2,9 +2,6 @@
qt_examples_build_begin()
-if(TARGET Qt::Positioning)
- add_subdirectory(positioning)
-endif()
# TODO: Enable location examples later!
# if(TARGET Qt::Location AND TARGET Qt::Positioning)
# add_subdirectory(location)
diff --git a/examples/examples.pro b/examples/examples.pro
index da770da2..10d97e1b 100644
--- a/examples/examples.pro
+++ b/examples/examples.pro
@@ -1,7 +1,3 @@
TEMPLATE = subdirs
-qtHaveModule(positioning) {
- SUBDIRS += positioning
-
- qtHaveModule(location): SUBDIRS += location
-}
+qtHaveModule(location): SUBDIRS += location
diff --git a/examples/positioning/CMakeLists.txt b/examples/positioning/CMakeLists.txt
deleted file mode 100644
index 414fc99a..00000000
--- a/examples/positioning/CMakeLists.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-# Generated from positioning.pro.
-
-if(TARGET Qt::Widgets)
- add_subdirectory(logfilepositionsource)
-endif()
-if(TARGET Qt::Quick)
- add_subdirectory(satelliteinfo)
-endif()
-if(TARGET Qt::Quick)
- add_subdirectory(geoflickr)
-endif()
-if(TARGET Qt::Network AND TARGET Qt::Quick)
- add_subdirectory(weatherinfo)
-endif()
diff --git a/examples/positioning/geoflickr/CMakeLists.txt b/examples/positioning/geoflickr/CMakeLists.txt
deleted file mode 100644
index a871b827..00000000
--- a/examples/positioning/geoflickr/CMakeLists.txt
+++ /dev/null
@@ -1,83 +0,0 @@
-# Generated from geoflickr.pro.
-
-cmake_minimum_required(VERSION 3.16)
-project(geoflickr LANGUAGES CXX)
-
-set(CMAKE_INCLUDE_CURRENT_DIR ON)
-
-set(CMAKE_AUTOMOC ON)
-set(CMAKE_AUTORCC ON)
-set(CMAKE_AUTOUIC ON)
-
-if(NOT DEFINED INSTALL_EXAMPLESDIR)
- set(INSTALL_EXAMPLESDIR "examples")
-endif()
-
-set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/positioning/geoflickr")
-
-find_package(Qt6 COMPONENTS Core)
-find_package(Qt6 COMPONENTS Gui)
-find_package(Qt6 COMPONENTS Qml)
-find_package(Qt6 COMPONENTS Quick)
-find_package(Qt6 COMPONENTS Network)
-find_package(Qt6 COMPONENTS Positioning)
-
-qt_add_executable(geoflickr
- qmllocationflickr.cpp
-)
-set_target_properties(geoflickr PROPERTIES
- WIN32_EXECUTABLE TRUE
- MACOSX_BUNDLE TRUE
-)
-target_link_libraries(geoflickr PRIVATE
- Qt::Core
- Qt::Gui
- Qt::Network
- Qt::Positioning
- Qt::Qml
- Qt::Quick
-)
-
-
-# Resources:
-set(flickr_resource_files
- "flickr-90.qml"
- "flickr.qml"
- "flickrcommon/Progress.qml"
- "flickrcommon/RestModel.qml"
- "flickrcommon/ScrollBar.qml"
- "flickrcommon/Slider.qml"
- "flickrmobile/Button.qml"
- "flickrmobile/GeoTab.qml"
- "flickrmobile/GridDelegate.qml"
- "flickrmobile/ImageDetails.qml"
- "flickrmobile/ListDelegate.qml"
- "flickrmobile/TitleBar.qml"
- "flickrmobile/ToolBar.qml"
- "flickrmobile/images/gloss.png"
- "flickrmobile/images/lineedit.png"
- "flickrmobile/images/lineedit.sci"
- "flickrmobile/images/moon.png"
- "flickrmobile/images/quit.png"
- "flickrmobile/images/star.png"
- "flickrmobile/images/stripes.png"
- "flickrmobile/images/sun.png"
- "flickrmobile/images/titlebar.png"
- "flickrmobile/images/titlebar.sci"
- "flickrmobile/images/toolbutton.png"
- "flickrmobile/images/toolbutton.sci"
- "flickrmobile/nmealog.txt"
-)
-
-qt6_add_resources(geoflickr "flickr"
- PREFIX
- "/"
- FILES
- ${flickr_resource_files}
-)
-
-install(TARGETS geoflickr
- RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
- BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
- LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
-)
diff --git a/examples/positioning/geoflickr/doc/images/qml-flickr-1.jpg b/examples/positioning/geoflickr/doc/images/qml-flickr-1.jpg
deleted file mode 100644
index 42514ff0..00000000
--- a/examples/positioning/geoflickr/doc/images/qml-flickr-1.jpg
+++ /dev/null
Binary files differ
diff --git a/examples/positioning/geoflickr/doc/src/geoflickr.qdoc b/examples/positioning/geoflickr/doc/src/geoflickr.qdoc
deleted file mode 100644
index 86ec61f4..00000000
--- a/examples/positioning/geoflickr/doc/src/geoflickr.qdoc
+++ /dev/null
@@ -1,88 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2019 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
- \example geoflickr
- \title GeoFlickr (QML)
- \ingroup qtpositioning-examples
-
- \brief The GeoFlickr example shows how to use the user's current
- position to fetch local content from a web service.
-
- This is a small example, illustrating one of the very core parts
- of the \l{Qt Positioning} API: the ability to retrieve and use the
- user's current geographic position.
-
- Key QML types shown in this example:
- \list
- \li \l {QtPositioning::PositionSource} {PositionSource}
- \li \l [QML] {XmlListModel}
- \endlist
-
- \image qml-flickr-1.jpg
-
- \include examples-run.qdocinc
-
- \section1 Retrieving the Current Position
-
- Retrieving the user's current position is achieved using the
- \l PositionSource type. In this example, we instantiate the
- \l PositionSource as part of the \c GeoTab component (the floating "window"
- describing current position and status).
-
- \snippet geoflickr/flickrmobile/GeoTab.qml possrc
-
- When the "Locate and update" button is pressed, we first interrogate
- the \l PositionSource to check if it has an available backend for
- positioning data. If it does not, we fall back to using a pre-recorded
- NMEA log for demonstration. We then instruct the \l PositionSource to
- request a location \l {QtPositioning::PositionSource::}{update}.
-
- \snippet geoflickr/flickrmobile/GeoTab.qml locatebutton-top
- \snippet geoflickr/flickrmobile/GeoTab.qml locatebutton-clicked
-
- To share the new position data with the rest of the application, we
- use properties that we have created on the \c GeoTab component:
-
- \snippet geoflickr/flickrmobile/GeoTab.qml props
-
- \section1 Using the Current Position
-
- The longitude and latitude values retrieved here are eventually set
- in the properties on the \c RestModel component. The \c RestModel is an
- \l [QML] {XmlListModel}, which retrieves XML data from a URL and creates a
- data model by parsing it.
-
- In this case, it retrieves data from the Flickr REST API online,
- based on our current position
-
- \snippet geoflickr/flickrcommon/RestModel.qml restmodel
-
- This model data is then shown in a variety of \l {Qt Quick} views to
- produce the example application.
-
-*/
diff --git a/examples/positioning/geoflickr/flickr-90.qml b/examples/positioning/geoflickr/flickr-90.qml
deleted file mode 100644
index e3352747..00000000
--- a/examples/positioning/geoflickr/flickr-90.qml
+++ /dev/null
@@ -1,61 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, 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 The Qt Company Ltd 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 QtQuick 2.0
-
-Item {
- width: 480; height: 320
-
- Loader {
- y: 320; rotation: -90
- transformOrigin: Item.TopLeft
- source: "flickr.qml"
- }
-}
diff --git a/examples/positioning/geoflickr/flickr.qml b/examples/positioning/geoflickr/flickr.qml
deleted file mode 100644
index 8c975e38..00000000
--- a/examples/positioning/geoflickr/flickr.qml
+++ /dev/null
@@ -1,147 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, 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 The Qt Company Ltd 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 QtQuick 2.0
-import QtQml.XmlListModel
-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
- coordinate: geoTab.coordinate
- }
-
- Item {
- id: views
- x: 2; width: parent.width - 4
- anchors.top: titleBar.bottom; anchors.bottom: toolBar.top
-
- Text {
- text: qsTr("Network error")
- font.pixelSize: 48
- fontSizeMode: Text.HorizontalFit
- anchors.centerIn: parent
- width: parent.width * 0.9
- visible: restModel.status === XmlListModel.Error
-
- }
-
- 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
- function 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/positioning/geoflickr/flickr.qrc b/examples/positioning/geoflickr/flickr.qrc
deleted file mode 100644
index 1019f7d8..00000000
--- a/examples/positioning/geoflickr/flickr.qrc
+++ /dev/null
@@ -1,30 +0,0 @@
-<!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/positioning/geoflickr/flickrcommon/Progress.qml b/examples/positioning/geoflickr/flickrcommon/Progress.qml
deleted file mode 100644
index 36faffbc..00000000
--- a/examples/positioning/geoflickr/flickrcommon/Progress.qml
+++ /dev/null
@@ -1,82 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, 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 The Qt Company Ltd 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 QtQuick 2.0
-
-Item {
- property real 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/positioning/geoflickr/flickrcommon/RestModel.qml b/examples/positioning/geoflickr/flickrcommon/RestModel.qml
deleted file mode 100644
index 56cd4e84..00000000
--- a/examples/positioning/geoflickr/flickrcommon/RestModel.qml
+++ /dev/null
@@ -1,74 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2021 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, 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 The Qt Company Ltd 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 QtQml.XmlListModel
-
-//! [restmodel]
-XmlListModel {
- property var coordinate
-
- source: "https://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=" + coordinate.latitude + "&lon=" + coordinate.longitude;
- query: "/rsp/photos/photo"
-
- XmlListModelRole { name: "title"; elementName: ""; attributeName: "title" }
- XmlListModelRole { name: "datetaken"; elementName: ""; attributeName: "datetaken" }
- XmlListModelRole { name: "farm"; elementName: ""; attributeName: "farm" }
- XmlListModelRole { name: "server"; elementName: ""; attributeName: "server" }
- XmlListModelRole { name: "id"; elementName: ""; attributeName: "id" }
- XmlListModelRole { name: "secret"; elementName: ""; attributeName: "secret" }
-}
-//! [restmodel]
diff --git a/examples/positioning/geoflickr/flickrcommon/ScrollBar.qml b/examples/positioning/geoflickr/flickrcommon/ScrollBar.qml
deleted file mode 100644
index 4c6c21c9..00000000
--- a/examples/positioning/geoflickr/flickrcommon/ScrollBar.qml
+++ /dev/null
@@ -1,90 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, 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 The Qt Company Ltd 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 QtQuick 2.0
-
-Item {
- id: container
-
- property var 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/positioning/geoflickr/flickrcommon/Slider.qml b/examples/positioning/geoflickr/flickrcommon/Slider.qml
deleted file mode 100644
index f323ab22..00000000
--- a/examples/positioning/geoflickr/flickrcommon/Slider.qml
+++ /dev/null
@@ -1,86 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, 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 The Qt Company Ltd 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 QtQuick 2.0
-
-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/positioning/geoflickr/flickrmobile/Button.qml b/examples/positioning/geoflickr/flickrmobile/Button.qml
deleted file mode 100644
index 5f2fcba2..00000000
--- a/examples/positioning/geoflickr/flickrmobile/Button.qml
+++ /dev/null
@@ -1,88 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, 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 The Qt Company Ltd 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 QtQuick 2.0
-
-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/positioning/geoflickr/flickrmobile/GeoTab.qml b/examples/positioning/geoflickr/flickrmobile/GeoTab.qml
deleted file mode 100644
index 4a9a4aba..00000000
--- a/examples/positioning/geoflickr/flickrmobile/GeoTab.qml
+++ /dev/null
@@ -1,182 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, 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 The Qt Company Ltd 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 QtQuick 2.0
-import QtPositioning
-
-Rectangle {
- id: container
- property int maxX: parent.width; property int maxY: parent.height
-//! [props]
- property var coordinate
-//! [props]
-
- Binding {
- target: container
- property: "coordinate"
- value: positionSource.position.coordinate
- }
-
- 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)
- }
-//! [locatebutton-top]
- Button {
- id: locateButton
- text: "Locate & update"
-//! [locatebutton-top]
- anchors {left: parent.left; leftMargin: 5}
- y: 3; height: 32; width: parent.width - 10
-//! [locatebutton-clicked]
- onClicked: {
- if (positionSource.supportedPositioningMethods ===
- PositionSource.NoPositioningMethods) {
- positionSource.nmeaSource = "nmealog.txt";
- sourceText.text = "(filesource): " + printableMethod(positionSource.supportedPositioningMethods);
- }
- positionSource.update();
- }
- }
-//! [locatebutton-clicked]
-//! [possrc]
- PositionSource {
- id: positionSource
- onPositionChanged: { planet.source = "images/sun.png"; }
-
- onSourceErrorChanged: {
- if (sourceError == PositionSource.UpdateTimeoutError) {
- activityText.fadeOut = true
- return
- }
-
- if (sourceError == PositionSource.NoError)
- return
-
- console.log("Source error: " + sourceError)
- activityText.fadeOut = true
- stop()
- }
- }
-//! [possrc]
- function printableMethod(method) {
- if (method === PositionSource.SatellitePositioningMethods)
- return "Satellite";
- else if (method === PositionSource.NoPositioningMethods)
- return "Not available"
- else if (method === PositionSource.NonSatellitePositioningMethods)
- 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.supportedPositioningMethods); style: Text.Raised; styleColor: "black";
- }
-
- Text {
- id: activityText; color: "white"; font.bold: true;
- anchors { top: planet.bottom; horizontalCenter: parent.horizontalCenter }
- property bool fadeOut: false
-
- text: {
- if (fadeOut)
- return qsTr("Timeout occurred!");
- else if (positionSource.active)
- return qsTr("Retrieving update...")
- else
- return ""
- }
-
- Timer {
- id: fadeoutTimer; repeat: false; interval: 3000; running: activityText.fadeOut
- onTriggered: { activityText.fadeOut = false; }
- }
- }
-}
diff --git a/examples/positioning/geoflickr/flickrmobile/GridDelegate.qml b/examples/positioning/geoflickr/flickrmobile/GridDelegate.qml
deleted file mode 100644
index 6d1e39c8..00000000
--- a/examples/positioning/geoflickr/flickrmobile/GridDelegate.qml
+++ /dev/null
@@ -1,124 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, 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 The Qt Company Ltd 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 QtQuick 2.0
- import QtQuick.Window 2.0
-
- 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
- function onButton2Clicked() {
- if (scaleMe.state == 'Details' ) scaleMe.state = 'Show'
- }
- }
-
- states: [
- State {
- name: "Show"; when: thumb.status == Image.Ready
- PropertyChanges { target: scaleMe; scale: Math.round(Screen.pixelDensity / 4) }
- },
- State {
- name: "Details"
- PropertyChanges { target: scaleMe; scale: Math.round(Screen.pixelDensity / 4)}
- 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/positioning/geoflickr/flickrmobile/ImageDetails.qml b/examples/positioning/geoflickr/flickrmobile/ImageDetails.qml
deleted file mode 100644
index 10c0dad9..00000000
--- a/examples/positioning/geoflickr/flickrmobile/ImageDetails.qml
+++ /dev/null
@@ -1,166 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, 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 The Qt Company Ltd 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 QtQuick 2.0
-import "../flickrcommon" as Common
-
-Flipable {
- id: container
-
- property var frontContainer: containerFront
- property string photoTitle: ""
- property string photoDate
- property string photoUrl
- property real 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/positioning/geoflickr/flickrmobile/ListDelegate.qml b/examples/positioning/geoflickr/flickrmobile/ListDelegate.qml
deleted file mode 100644
index f83f345c..00000000
--- a/examples/positioning/geoflickr/flickrmobile/ListDelegate.qml
+++ /dev/null
@@ -1,76 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, 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 The Qt Company Ltd 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 QtQuick 2.0
- 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/positioning/geoflickr/flickrmobile/TitleBar.qml b/examples/positioning/geoflickr/flickrmobile/TitleBar.qml
deleted file mode 100644
index 883042ae..00000000
--- a/examples/positioning/geoflickr/flickrmobile/TitleBar.qml
+++ /dev/null
@@ -1,87 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, 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 The Qt Company Ltd 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 QtQuick 2.0
-
-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: "GeoFlickr (QML)"
- font.bold: true; color: "White"; style: Text.Raised; styleColor: "Black"
- }
- }
-
- transitions: Transition {
- NumberAnimation { properties: "x"; easing.type: Easing.InOutQuad }
- }
-}
diff --git a/examples/positioning/geoflickr/flickrmobile/ToolBar.qml b/examples/positioning/geoflickr/flickrmobile/ToolBar.qml
deleted file mode 100644
index cb0a0fd7..00000000
--- a/examples/positioning/geoflickr/flickrmobile/ToolBar.qml
+++ /dev/null
@@ -1,74 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, 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 The Qt Company Ltd 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 QtQuick 2.0
-
-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/positioning/geoflickr/flickrmobile/images/gloss.png b/examples/positioning/geoflickr/flickrmobile/images/gloss.png
deleted file mode 100644
index dff2bd34..00000000
--- a/examples/positioning/geoflickr/flickrmobile/images/gloss.png
+++ /dev/null
Binary files differ
diff --git a/examples/positioning/geoflickr/flickrmobile/images/lineedit.png b/examples/positioning/geoflickr/flickrmobile/images/lineedit.png
deleted file mode 100644
index a6afb512..00000000
--- a/examples/positioning/geoflickr/flickrmobile/images/lineedit.png
+++ /dev/null
Binary files differ
diff --git a/examples/positioning/geoflickr/flickrmobile/images/lineedit.sci b/examples/positioning/geoflickr/flickrmobile/images/lineedit.sci
deleted file mode 100644
index 054bff78..00000000
--- a/examples/positioning/geoflickr/flickrmobile/images/lineedit.sci
+++ /dev/null
@@ -1,5 +0,0 @@
-border.left: 10
-border.top: 10
-border.bottom: 10
-border.right: 10
-source: lineedit.png
diff --git a/examples/positioning/geoflickr/flickrmobile/images/moon.png b/examples/positioning/geoflickr/flickrmobile/images/moon.png
deleted file mode 100644
index 1583ac83..00000000
--- a/examples/positioning/geoflickr/flickrmobile/images/moon.png
+++ /dev/null
Binary files differ
diff --git a/examples/positioning/geoflickr/flickrmobile/images/quit.png b/examples/positioning/geoflickr/flickrmobile/images/quit.png
deleted file mode 100644
index aef73853..00000000
--- a/examples/positioning/geoflickr/flickrmobile/images/quit.png
+++ /dev/null
Binary files differ
diff --git a/examples/positioning/geoflickr/flickrmobile/images/star.png b/examples/positioning/geoflickr/flickrmobile/images/star.png
deleted file mode 100644
index bdcd3690..00000000
--- a/examples/positioning/geoflickr/flickrmobile/images/star.png
+++ /dev/null
Binary files differ
diff --git a/examples/positioning/geoflickr/flickrmobile/images/stripes.png b/examples/positioning/geoflickr/flickrmobile/images/stripes.png
deleted file mode 100644
index 75d2bf6c..00000000
--- a/examples/positioning/geoflickr/flickrmobile/images/stripes.png
+++ /dev/null
Binary files differ
diff --git a/examples/positioning/geoflickr/flickrmobile/images/sun.png b/examples/positioning/geoflickr/flickrmobile/images/sun.png
deleted file mode 100644
index c5fd36ed..00000000
--- a/examples/positioning/geoflickr/flickrmobile/images/sun.png
+++ /dev/null
Binary files differ
diff --git a/examples/positioning/geoflickr/flickrmobile/images/titlebar.png b/examples/positioning/geoflickr/flickrmobile/images/titlebar.png
deleted file mode 100644
index aa35c9e1..00000000
--- a/examples/positioning/geoflickr/flickrmobile/images/titlebar.png
+++ /dev/null
Binary files differ
diff --git a/examples/positioning/geoflickr/flickrmobile/images/titlebar.sci b/examples/positioning/geoflickr/flickrmobile/images/titlebar.sci
deleted file mode 100644
index 0418d94c..00000000
--- a/examples/positioning/geoflickr/flickrmobile/images/titlebar.sci
+++ /dev/null
@@ -1,5 +0,0 @@
-border.left: 10
-border.top: 12
-border.bottom: 12
-border.right: 10
-source: titlebar.png
diff --git a/examples/positioning/geoflickr/flickrmobile/images/toolbutton.png b/examples/positioning/geoflickr/flickrmobile/images/toolbutton.png
deleted file mode 100644
index 11310013..00000000
--- a/examples/positioning/geoflickr/flickrmobile/images/toolbutton.png
+++ /dev/null
Binary files differ
diff --git a/examples/positioning/geoflickr/flickrmobile/images/toolbutton.sci b/examples/positioning/geoflickr/flickrmobile/images/toolbutton.sci
deleted file mode 100644
index 9e4f9653..00000000
--- a/examples/positioning/geoflickr/flickrmobile/images/toolbutton.sci
+++ /dev/null
@@ -1,5 +0,0 @@
-border.left: 15
-border.top: 4
-border.bottom: 4
-border.right: 15
-source: toolbutton.png
diff --git a/examples/positioning/geoflickr/flickrmobile/nmealog.txt b/examples/positioning/geoflickr/flickrmobile/nmealog.txt
deleted file mode 100644
index 8c8286dd..00000000
--- a/examples/positioning/geoflickr/flickrmobile/nmealog.txt
+++ /dev/null
@@ -1,1403 +0,0 @@
-$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/positioning/geoflickr/geoflickr.pro b/examples/positioning/geoflickr/geoflickr.pro
deleted file mode 100644
index 4bbb7959..00000000
--- a/examples/positioning/geoflickr/geoflickr.pro
+++ /dev/null
@@ -1,15 +0,0 @@
-TEMPLATE = app
-TARGET = geoflickr
-
-QT += qml quick network positioning
-SOURCES += qmllocationflickr.cpp
-
-RESOURCES += \
- flickr.qrc
-
-OTHER_FILES += flickr.qml \
- flickrcommon/* \
- flickrmobile/*
-
-target.path = $$[QT_INSTALL_EXAMPLES]/positioning/geoflickr
-INSTALLS += target
diff --git a/examples/positioning/geoflickr/geoflickr.qmlproject b/examples/positioning/geoflickr/geoflickr.qmlproject
deleted file mode 100644
index d4909f86..00000000
--- a/examples/positioning/geoflickr/geoflickr.qmlproject
+++ /dev/null
@@ -1,16 +0,0 @@
-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/positioning/geoflickr/qmllocationflickr.cpp b/examples/positioning/geoflickr/qmllocationflickr.cpp
deleted file mode 100644
index 61176cb1..00000000
--- a/examples/positioning/geoflickr/qmllocationflickr.cpp
+++ /dev/null
@@ -1,68 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, 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 The Qt Company Ltd 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 <QGuiApplication>
-#include <QtQuick/QQuickView>
-#include <QtQml/QQmlEngine>
-
-int main(int argc, char *argv[])
-{
- QGuiApplication application(argc, argv);
- const QString mainQmlApp = QStringLiteral("qrc:///flickr.qml");
- QQuickView view;
- view.setSource(QUrl(mainQmlApp));
- view.setResizeMode(QQuickView::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()));
- view.setGeometry(QRect(100, 100, 360, 640));
- view.show();
- return application.exec();
-}
diff --git a/examples/positioning/logfilepositionsource/CMakeLists.txt b/examples/positioning/logfilepositionsource/CMakeLists.txt
deleted file mode 100644
index b9064aea..00000000
--- a/examples/positioning/logfilepositionsource/CMakeLists.txt
+++ /dev/null
@@ -1,54 +0,0 @@
-# Generated from logfilepositionsource.pro.
-
-cmake_minimum_required(VERSION 3.16)
-project(logfilepositionsource LANGUAGES CXX)
-
-set(CMAKE_INCLUDE_CURRENT_DIR ON)
-
-set(CMAKE_AUTOMOC ON)
-set(CMAKE_AUTORCC ON)
-set(CMAKE_AUTOUIC ON)
-
-if(NOT DEFINED INSTALL_EXAMPLESDIR)
- set(INSTALL_EXAMPLESDIR "examples")
-endif()
-
-set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/positioning/logfilepositionsource")
-
-find_package(Qt6 COMPONENTS Positioning)
-find_package(Qt6 COMPONENTS Core)
-find_package(Qt6 COMPONENTS Widgets)
-
-qt_add_executable(logfilepositionsource
- clientapplication.cpp clientapplication.h
- logfilepositionsource.cpp logfilepositionsource.h
- main.cpp
-)
-set_target_properties(logfilepositionsource PROPERTIES
- WIN32_EXECUTABLE TRUE
- MACOSX_BUNDLE TRUE
-)
-target_link_libraries(logfilepositionsource PRIVATE
- Qt::Core
- Qt::Positioning
- Qt::Widgets
-)
-
-
-# Resources:
-set(logfile_resource_files
- "simplelog.txt"
-)
-
-qt6_add_resources(logfilepositionsource "logfile"
- PREFIX
- "/"
- FILES
- ${logfile_resource_files}
-)
-
-install(TARGETS logfilepositionsource
- RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
- BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
- LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
-)
diff --git a/examples/positioning/logfilepositionsource/clientapplication.cpp b/examples/positioning/logfilepositionsource/clientapplication.cpp
deleted file mode 100644
index 1dca07af..00000000
--- a/examples/positioning/logfilepositionsource/clientapplication.cpp
+++ /dev/null
@@ -1,72 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, 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 The Qt Company Ltd 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 <QtCore>
-#include <QTextEdit>
-
-#include "logfilepositionsource.h"
-#include "clientapplication.h"
-
-ClientApplication::ClientApplication(QWidget *parent)
- : QMainWindow(parent)
-{
- textEdit = new QTextEdit;
- setCentralWidget(textEdit);
-
- LogFilePositionSource *source = new LogFilePositionSource(this);
- connect(source, SIGNAL(positionUpdated(QGeoPositionInfo)),
- this, SLOT(positionUpdated(QGeoPositionInfo)));
-
- source->startUpdates();
-}
-
-void ClientApplication::positionUpdated(const QGeoPositionInfo &info)
-{
- textEdit->append(QString("Position updated: Date/time = %1, Coordinate = %2").arg(info.timestamp().toString()).arg(info.coordinate().toString()));
-}
diff --git a/examples/positioning/logfilepositionsource/clientapplication.h b/examples/positioning/logfilepositionsource/clientapplication.h
deleted file mode 100644
index 4ffd5486..00000000
--- a/examples/positioning/logfilepositionsource/clientapplication.h
+++ /dev/null
@@ -1,74 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, 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 The Qt Company Ltd 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$
-**
-****************************************************************************/
-#ifndef CLIENTAPPLICATION_H
-#define CLIENTAPPLICATION_H
-
-#include <QMainWindow>
-
-QT_BEGIN_NAMESPACE
-class QGeoPositionInfo;
-class QTextEdit;
-QT_END_NAMESPACE
-
-class ClientApplication : public QMainWindow
-{
- Q_OBJECT
-public:
- ClientApplication(QWidget *parent = 0);
-
-private slots:
- void positionUpdated(const QGeoPositionInfo &info);
-
-private:
- QTextEdit *textEdit;
-};
-
-
-#endif
diff --git a/examples/positioning/logfilepositionsource/doc/src/logfilepositionsource.qdoc b/examples/positioning/logfilepositionsource/doc/src/logfilepositionsource.qdoc
deleted file mode 100644
index 53eb274a..00000000
--- a/examples/positioning/logfilepositionsource/doc/src/logfilepositionsource.qdoc
+++ /dev/null
@@ -1,94 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
-\example logfilepositionsource
-\title Log File Position Source (C++)
-\ingroup qtpositioning-examples
-
-\brief Logfile Position Source shows how to create and work with a custom
- position source. It can be useful for simulating GPS data, or when the
- data is received in some custom format.
-
-\include examples-run.qdocinc
-
-\section1 Creating custom Position Source
-
-In this example, the data is read from a text file, \e simplelog.txt. The file
-specifies position data using a simple text format: it contains one position
-update per line, where each line contains a date/time, a latitude and a
-longitude, separated by spaces. The date/time is in ISO 8601 format and the
-latitude and longitude are in degrees decimal format.
-Here is an excerpt from \e simplelog.txt:
-
-\code
-2009-08-24T22:25:01 -27.576082 153.092415
-2009-08-24T22:25:02 -27.576223 153.092530
-2009-08-24T22:25:03 -27.576364 153.092648
-\endcode
-
-We create a custom \c LogFilePositionSource class, which derives from
-\l QGeoPositionInfoSource. It reads position data from the file and distributes
-it via the \l {QGeoPositionInfoSource::}{positionUpdated()} signal.
-
-The resulting time and position information is then displayed on the screen as
-simple text in date/time and latitude/longitude format.
-
-Here is the definition of the \c LogFilePositionSource class:
-
-\quotefromfile logfilepositionsource/logfilepositionsource.h
-\skipto class LogFilePositionSource
-\printuntil };
-
-The main methods overrided by the subclass are:
-
-\list
- \li \l{QGeoPositionInfoSource::startUpdates()}{startUpdates()}: called by client applications
- to start regular position updates.
- \li \l{QGeoPositionInfoSource::stopUpdates()}{stopUpdates()}: called by client applications to
- stop regular position updates.
- \li \l{QGeoPositionInfoSource::requestUpdate()}{requestUpdate()}: called by client applications
- to request a single update, with a specified timeout.
-\endlist
-
-When a position update is available, the subclass emits the
-\l{QGeoPositionInfoSource::positionUpdated()}{positionUpdated()} signal.
-
-Here are the key methods in the class implementation:
-
-\quotefromfile logfilepositionsource/logfilepositionsource.cpp
-\skipto LogFilePositionSource::LogFilePositionSource
-\printuntil /^\}/
-\skipto LogFilePositionSource::startUpdates
-\printuntil /^\}/
-\skipto LogFilePositionSource::stopUpdates
-\printuntil /^\}/
-\skipto LogFilePositionSource::requestUpdate
-\printuntil /^\}/
-\printuntil LogFilePositionSource::readNextPosition
-\printuntil /^\}/
-*/
diff --git a/examples/positioning/logfilepositionsource/logfile.qrc b/examples/positioning/logfilepositionsource/logfile.qrc
deleted file mode 100644
index 61213949..00000000
--- a/examples/positioning/logfilepositionsource/logfile.qrc
+++ /dev/null
@@ -1,5 +0,0 @@
-<RCC>
- <qresource prefix="/">
- <file>simplelog.txt</file>
- </qresource>
-</RCC>
diff --git a/examples/positioning/logfilepositionsource/logfilepositionsource.cpp b/examples/positioning/logfilepositionsource/logfilepositionsource.cpp
deleted file mode 100644
index 31bb0cc3..00000000
--- a/examples/positioning/logfilepositionsource/logfilepositionsource.cpp
+++ /dev/null
@@ -1,136 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, 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 The Qt Company Ltd 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 <QtCore>
-
-#include "logfilepositionsource.h"
-
-LogFilePositionSource::LogFilePositionSource(QObject *parent)
- : QGeoPositionInfoSource(parent),
- logFile(new QFile(this)),
- timer(new QTimer(this))
-{
- connect(timer, SIGNAL(timeout()), this, SLOT(readNextPosition()));
-
- logFile->setFileName(":/simplelog.txt");
- if (!logFile->open(QIODevice::ReadOnly))
- qWarning() << "Error: cannot open source file" << logFile->fileName();
-}
-
-QGeoPositionInfo LogFilePositionSource::lastKnownPosition(bool /*fromSatellitePositioningMethodsOnly*/) const
-{
- return lastPosition;
-}
-
-LogFilePositionSource::PositioningMethods LogFilePositionSource::supportedPositioningMethods() const
-{
- return AllPositioningMethods;
-}
-
-int LogFilePositionSource::minimumUpdateInterval() const
-{
- return 500;
-}
-
-void LogFilePositionSource::startUpdates()
-{
- lastError = QGeoPositionInfoSource::NoError;
- int interval = updateInterval();
- if (interval < minimumUpdateInterval())
- interval = minimumUpdateInterval();
-
- timer->start(interval);
-}
-
-void LogFilePositionSource::stopUpdates()
-{
- timer->stop();
-}
-
-void LogFilePositionSource::requestUpdate(int /*timeout*/)
-{
- // For simplicity, ignore timeout - assume that if data is not available
- // now, no data will be added to the file later
- lastError = QGeoPositionInfoSource::NoError;
- if (logFile->canReadLine()) {
- readNextPosition();
- } else {
- lastError = QGeoPositionInfoSource::UpdateTimeoutError;
- emit QGeoPositionInfoSource::errorOccurred(lastError);
- }
-}
-
-void LogFilePositionSource::readNextPosition()
-{
- QByteArray line = logFile->readLine().trimmed();
- if (!line.isEmpty()) {
- QList<QByteArray> data = line.split(' ');
- double latitude;
- double longitude;
- bool hasLatitude = false;
- bool hasLongitude = false;
- QDateTime timestamp = QDateTime::fromString(QString(data.value(0)), Qt::ISODate);
- latitude = data.value(1).toDouble(&hasLatitude);
- longitude = data.value(2).toDouble(&hasLongitude);
-
- if (hasLatitude && hasLongitude && timestamp.isValid()) {
- QGeoCoordinate coordinate(latitude, longitude);
- QGeoPositionInfo info(coordinate, timestamp);
- if (info.isValid()) {
- lastPosition = info;
- emit positionUpdated(info);
- }
- }
- }
-}
-
-QGeoPositionInfoSource::Error LogFilePositionSource::error() const
-{
- return lastError;
-}
diff --git a/examples/positioning/logfilepositionsource/logfilepositionsource.h b/examples/positioning/logfilepositionsource/logfilepositionsource.h
deleted file mode 100644
index aca72ab2..00000000
--- a/examples/positioning/logfilepositionsource/logfilepositionsource.h
+++ /dev/null
@@ -1,88 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, 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 The Qt Company Ltd 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$
-**
-****************************************************************************/
-#ifndef LOGFILEPOSITIONSOURCE_H
-#define LOGFILEPOSITIONSOURCE_H
-
-#include <QtPositioning/qgeopositioninfosource.h>
-
-QT_BEGIN_NAMESPACE
-class QFile;
-class QTimer;
-QT_END_NAMESPACE
-
-class LogFilePositionSource : public QGeoPositionInfoSource
-{
- Q_OBJECT
-public:
- LogFilePositionSource(QObject *parent = 0);
-
- QGeoPositionInfo lastKnownPosition(bool fromSatellitePositioningMethodsOnly = false) const override;
-
- PositioningMethods supportedPositioningMethods() const override;
- int minimumUpdateInterval() const override;
- Error error() const override;
-
-public slots:
- virtual void startUpdates() override;
- virtual void stopUpdates() override;
-
- virtual void requestUpdate(int timeout = 5000) override;
-
-private slots:
- void readNextPosition();
-
-private:
- QFile *logFile;
- QTimer *timer;
- QGeoPositionInfo lastPosition;
- Error lastError = QGeoPositionInfoSource::NoError;
-};
-
-#endif
diff --git a/examples/positioning/logfilepositionsource/logfilepositionsource.pro b/examples/positioning/logfilepositionsource/logfilepositionsource.pro
deleted file mode 100644
index cb9e30ae..00000000
--- a/examples/positioning/logfilepositionsource/logfilepositionsource.pro
+++ /dev/null
@@ -1,16 +0,0 @@
-TEMPLATE = app
-TARGET = logfilepositionsource
-QT = positioning core widgets
-
-
-HEADERS = logfilepositionsource.h \
- clientapplication.h
-SOURCES = logfilepositionsource.cpp \
- clientapplication.cpp \
- main.cpp
-
-RESOURCES += \
- logfile.qrc
-
-target.path = $$[QT_INSTALL_EXAMPLES]/positioning/logfilepositionsource
-INSTALLS += target
diff --git a/examples/positioning/logfilepositionsource/main.cpp b/examples/positioning/logfilepositionsource/main.cpp
deleted file mode 100644
index dcc05a1a..00000000
--- a/examples/positioning/logfilepositionsource/main.cpp
+++ /dev/null
@@ -1,62 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, 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 The Qt Company Ltd 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 <QApplication>
-
-#include "clientapplication.h"
-
-int main(int argc, char *argv[])
-{
- QApplication app(argc, argv);
-
- ClientApplication client;
- client.show();
-
- return app.exec();
-}
diff --git a/examples/positioning/logfilepositionsource/simplelog.txt b/examples/positioning/logfilepositionsource/simplelog.txt
deleted file mode 100644
index d016b2a8..00000000
--- a/examples/positioning/logfilepositionsource/simplelog.txt
+++ /dev/null
@@ -1,156 +0,0 @@
-2009-08-24T22:24:37 -27.572321 153.090718
-2009-08-24T22:24:38 -27.572470 153.090783
-2009-08-24T22:24:39 -27.572616 153.090845
-2009-08-24T22:24:40 -27.572763 153.090908
-2009-08-24T22:24:41 -27.572914 153.090971
-2009-08-24T22:24:42 -27.573068 153.091036
-2009-08-24T22:24:43 -27.573224 153.091102
-2009-08-24T22:24:44 -27.573383 153.091167
-2009-08-24T22:24:45 -27.573541 153.091232
-2009-08-24T22:24:46 -27.573700 153.091298
-2009-08-24T22:24:47 -27.573860 153.091366
-2009-08-24T22:24:48 -27.574019 153.091435
-2009-08-24T22:24:49 -27.574178 153.091507
-2009-08-24T22:24:50 -27.574340 153.091581
-2009-08-24T22:24:51 -27.574506 153.091654
-2009-08-24T22:24:52 -27.574670 153.091729
-2009-08-24T22:24:53 -27.574836 153.091800
-2009-08-24T22:24:54 -27.575001 153.091870
-2009-08-24T22:24:55 -27.575165 153.091940
-2009-08-24T22:24:56 -27.575327 153.092010
-2009-08-24T22:24:57 -27.575485 153.092078
-2009-08-24T22:24:58 -27.575641 153.092144
-2009-08-24T22:24:59 -27.575795 153.092218
-2009-08-24T22:25:00 -27.575942 153.092308
-2009-08-24T22:25:01 -27.576082 153.092415
-2009-08-24T22:25:02 -27.576223 153.092530
-2009-08-24T22:25:03 -27.576364 153.092648
-2009-08-24T22:25:04 -27.576505 153.092763
-2009-08-24T22:25:05 -27.576646 153.092879
-2009-08-24T22:25:06 -27.576784 153.092990
-2009-08-24T22:25:07 -27.576918 153.093099
-2009-08-24T22:25:08 -27.577046 153.093204
-2009-08-24T22:25:09 -27.577168 153.093303
-2009-08-24T22:25:10 -27.577284 153.093396
-2009-08-24T22:25:11 -27.577396 153.093484
-2009-08-24T22:25:12 -27.577499 153.093568
-2009-08-24T22:25:13 -27.577595 153.093647
-2009-08-24T22:25:14 -27.577692 153.093727
-2009-08-24T22:25:15 -27.577793 153.093810
-2009-08-24T22:25:16 -27.577897 153.093896
-2009-08-24T22:25:17 -27.578006 153.093984
-2009-08-24T22:25:18 -27.578120 153.094074
-2009-08-24T22:25:19 -27.578237 153.094168
-2009-08-24T22:25:20 -27.578360 153.094267
-2009-08-24T22:25:21 -27.578487 153.094370
-2009-08-24T22:25:22 -27.578617 153.094474
-2009-08-24T22:25:23 -27.578748 153.094581
-2009-08-24T22:25:24 -27.578880 153.094688
-2009-08-24T22:25:25 -27.579014 153.094796
-2009-08-24T22:25:26 -27.579149 153.094905
-2009-08-24T22:25:27 -27.579285 153.095012
-2009-08-24T22:25:28 -27.579420 153.095121
-2009-08-24T22:25:29 -27.579552 153.095231
-2009-08-24T22:25:30 -27.579684 153.095340
-2009-08-24T22:25:31 -27.579820 153.095449
-2009-08-24T22:25:32 -27.579956 153.095558
-2009-08-24T22:25:33 -27.580095 153.095667
-2009-08-24T22:25:34 -27.580240 153.095776
-2009-08-24T22:25:35 -27.580392 153.095885
-2009-08-24T22:25:36 -27.580536 153.095995
-2009-08-24T22:25:37 -27.580679 153.096109
-2009-08-24T22:25:38 -27.580824 153.096226
-2009-08-24T22:25:39 -27.580965 153.096337
-2009-08-24T22:25:40 -27.581101 153.096441
-2009-08-24T22:25:41 -27.581237 153.096537
-2009-08-24T22:25:42 -27.581356 153.096628
-2009-08-24T22:25:43 -27.581466 153.096714
-2009-08-24T22:25:44 -27.581555 153.096795
-2009-08-24T22:25:45 -27.581606 153.096847
-2009-08-24T22:25:46 -27.581539 153.096855
-2009-08-24T22:25:47 -27.581572 153.096873
-2009-08-24T22:25:48 -27.581579 153.096875
-2009-08-24T22:25:49 -27.581582 153.096878
-2009-08-24T22:25:50 -27.581588 153.096880
-2009-08-24T22:25:51 -27.581588 153.096880
-2009-08-24T22:25:52 -27.581592 153.096881
-2009-08-24T22:25:53 -27.581596 153.096882
-2009-08-24T22:25:54 -27.581599 153.096883
-2009-08-24T22:25:55 -27.581601 153.096883
-2009-08-24T22:25:56 -27.581602 153.096883
-2009-08-24T22:25:57 -27.581606 153.096890
-2009-08-24T22:25:58 -27.581606 153.096919
-2009-08-24T22:25:59 -27.581605 153.096985
-2009-08-24T22:26:00 -27.581573 153.097060
-2009-08-24T22:26:01 -27.581532 153.097142
-2009-08-24T22:26:02 -27.581484 153.097227
-2009-08-24T22:26:03 -27.581426 153.097324
-2009-08-24T22:26:04 -27.581373 153.097424
-2009-08-24T22:26:05 -27.581320 153.097530
-2009-08-24T22:26:06 -27.581265 153.097641
-2009-08-24T22:26:07 -27.581203 153.097757
-2009-08-24T22:26:08 -27.581144 153.097875
-2009-08-24T22:26:09 -27.581093 153.097995
-2009-08-24T22:26:10 -27.581042 153.098116
-2009-08-24T22:26:11 -27.580987 153.098231
-2009-08-24T22:26:12 -27.580919 153.098334
-2009-08-24T22:26:13 -27.580841 153.098428
-2009-08-24T22:26:14 -27.580754 153.098511
-2009-08-24T22:26:15 -27.580667 153.098591
-2009-08-24T22:26:16 -27.580581 153.098671
-2009-08-24T22:26:17 -27.580492 153.098751
-2009-08-24T22:26:18 -27.580401 153.098832
-2009-08-24T22:26:19 -27.580311 153.098914
-2009-08-24T22:26:20 -27.580224 153.098996
-2009-08-24T22:26:21 -27.580140 153.099078
-2009-08-24T22:26:22 -27.580059 153.099159
-2009-08-24T22:26:23 -27.579980 153.099245
-2009-08-24T22:26:24 -27.579900 153.099336
-2009-08-24T22:26:25 -27.579826 153.099433
-2009-08-24T22:26:26 -27.579753 153.099529
-2009-08-24T22:26:27 -27.579680 153.099623
-2009-08-24T22:26:28 -27.579606 153.099716
-2009-08-24T22:26:29 -27.579538 153.099808
-2009-08-24T22:26:30 -27.579477 153.099893
-2009-08-24T22:26:31 -27.579416 153.099968
-2009-08-24T22:26:32 -27.579393 153.100027
-2009-08-24T22:26:33 -27.579376 153.100092
-2009-08-24T22:26:34 -27.579384 153.100142
-2009-08-24T22:26:35 -27.579403 153.100181
-2009-08-24T22:26:36 -27.579429 153.100210
-2009-08-24T22:26:37 -27.579460 153.100237
-2009-08-24T22:26:38 -27.579493 153.100265
-2009-08-24T22:26:39 -27.579518 153.100291
-2009-08-24T22:26:40 -27.579536 153.100336
-2009-08-24T22:26:41 -27.579591 153.100358
-2009-08-24T22:26:42 -27.579618 153.100383
-2009-08-24T22:26:43 -27.579639 153.100404
-2009-08-24T22:26:44 -27.579650 153.100420
-2009-08-24T22:26:45 -27.579665 153.100432
-2009-08-24T22:26:46 -27.579679 153.100442
-2009-08-24T22:26:47 -27.579690 153.100451
-2009-08-24T22:26:48 -27.579697 153.100459
-2009-08-24T22:26:49 -27.579700 153.100462
-2009-08-24T22:26:50 -27.579699 153.100464
-2009-08-24T22:26:51 -27.579699 153.100466
-2009-08-24T22:26:52 -27.579700 153.100466
-2009-08-24T22:26:53 -27.579704 153.100466
-2009-08-24T22:26:54 -27.579705 153.100465
-2009-08-24T22:26:55 -27.579708 153.100468
-2009-08-24T22:26:56 -27.579712 153.100471
-2009-08-24T22:26:57 -27.579719 153.100476
-2009-08-24T22:26:58 -27.579728 153.100485
-2009-08-24T22:26:59 -27.579744 153.100493
-2009-08-24T22:27:00 -27.579759 153.100496
-2009-08-24T22:27:01 -27.579780 153.100481
-2009-08-24T22:27:02 -27.579788 153.100462
-2009-08-24T22:27:03 -27.579791 153.100436
-2009-08-24T22:27:04 -27.579788 153.100426
-2009-08-24T22:27:05 -27.579783 153.100409
-2009-08-24T22:27:06 -27.579781 153.100390
-2009-08-24T22:27:07 -27.579780 153.100375
-2009-08-24T22:27:08 -27.579779 153.100364
-2009-08-24T22:27:09 -27.579778 153.100354
-2009-08-24T22:27:10 -27.579777 153.100347
-2009-08-24T22:27:11 -27.579777 153.100341
-2009-08-24T22:27:12 -27.579776 153.100336
diff --git a/examples/positioning/positioning.pro b/examples/positioning/positioning.pro
deleted file mode 100644
index 50c328b3..00000000
--- a/examples/positioning/positioning.pro
+++ /dev/null
@@ -1,9 +0,0 @@
-TEMPLATE = subdirs
-
-qtHaveModule(widgets): SUBDIRS += logfilepositionsource
-qtHaveModule(quick) {
- SUBDIRS += satelliteinfo
-
- qtHaveModule(xmlpatterns): SUBDIRS += geoflickr
- qtHaveModule(network): SUBDIRS += weatherinfo
-}
diff --git a/examples/positioning/satelliteinfo/CMakeLists.txt b/examples/positioning/satelliteinfo/CMakeLists.txt
deleted file mode 100644
index dd90a6e1..00000000
--- a/examples/positioning/satelliteinfo/CMakeLists.txt
+++ /dev/null
@@ -1,49 +0,0 @@
-# Generated from satelliteinfo.pro.
-
-cmake_minimum_required(VERSION 3.16)
-project(satelliteinfo LANGUAGES CXX)
-
-set(CMAKE_INCLUDE_CURRENT_DIR ON)
-
-set(CMAKE_AUTOMOC ON)
-set(CMAKE_AUTORCC ON)
-set(CMAKE_AUTOUIC ON)
-
-if(NOT DEFINED INSTALL_EXAMPLESDIR)
- set(INSTALL_EXAMPLESDIR "examples")
-endif()
-
-set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/positioning/satelliteinfo")
-
-find_package(Qt6 COMPONENTS Core)
-find_package(Qt6 COMPONENTS Gui)
-find_package(Qt6 COMPONENTS Quick)
-find_package(Qt6 COMPONENTS Positioning)
-
-qt_add_executable(satelliteinfo
- main.cpp
- satellitemodel.cpp satellitemodel.h
-)
-set_target_properties(satelliteinfo PROPERTIES
- WIN32_EXECUTABLE TRUE
- MACOSX_BUNDLE TRUE
-)
-target_link_libraries(satelliteinfo PRIVATE
- Qt::Core
- Qt::Gui
- Qt::Positioning
- Qt::Quick
-)
-
-qt_add_qml_module(satelliteinfo
- URI Local
- VERSION 1.0
- QML_FILES satelliteinfo.qml
- NO_RESOURCE_TARGET_PATH
-)
-
-install(TARGETS satelliteinfo
- RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
- BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
- LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
-)
diff --git a/examples/positioning/satelliteinfo/doc/images/example-satelliteinfo.png b/examples/positioning/satelliteinfo/doc/images/example-satelliteinfo.png
deleted file mode 100644
index aa9a217c..00000000
--- a/examples/positioning/satelliteinfo/doc/images/example-satelliteinfo.png
+++ /dev/null
Binary files differ
diff --git a/examples/positioning/satelliteinfo/doc/src/satelliteinfo.qdoc b/examples/positioning/satelliteinfo/doc/src/satelliteinfo.qdoc
deleted file mode 100644
index fb314ea3..00000000
--- a/examples/positioning/satelliteinfo/doc/src/satelliteinfo.qdoc
+++ /dev/null
@@ -1,134 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2021 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
- \example satelliteinfo
- \title SatelliteInfo (C++/QML)
-
- \brief The SatelliteInfo example shows the available satellites
- at the user's current position and marks the satellites
- currently contributing to the GPS fix as pink.
-
- \ingroup qtpositioning-examples
-
- Key \l{Qt Positioning} classes used in this example:
-
- \list
- \li \l{QGeoSatelliteInfo}
- \li \l{QGeoSatelliteInfoSource}
- \endlist
-
- \image ../images/example-satelliteinfo.png
-
- The example displays the signal strength of all satellites in view. Any
- satellite that is currently used to calculate the GPS fix is marked pink.
- The number at the bottom of each signal bar is the individual satellite
- identifier.
-
- The application operates in three different modes:
-
- \table
- \header
- \li Application mode
- \li Description
- \row
- \li running
- \li The application continuously queries the system for satellite updates. When new data
- is available it will be displayed.
- \row
- \li stopped
- \li The application stops updating the satellite information.
- \row
- \li single
- \li The application makes a single update request with a timeout of 10s. The display
- remains empty until the request was answered by the system.
- \endtable
-
- If the platform does not provide satellite information, the application
- automatically switches into a demo mode, whereby it continuously switches
- between predefined sets of satellite data.
-
- \include examples-run.qdocinc
-
- \section1 Satellite Info Model
-
- The key part of this example is the \c SatelliteModel data model. It
- represents the information about the satellites.
- It uses the \l Q_PROPERTY and \l QML_ELEMENT macros, so that it can be
- available from QML.
-
- \snippet satelliteinfo/satellitemodel.h 0
- \snippet satelliteinfo/satellitemodel.h 1
- \snippet satelliteinfo/satellitemodel.h 2
-
- The \c SatelliteModel object creates an instance of
- \l QGeoSatelliteInfoSource using the \l {QGeoSatelliteInfoSource::}
- {createDefaultSource()} method. Once the source is created, the
- \l {QGeoSatelliteInfoSource::}{satellitesInViewUpdated()} and
- \l {QGeoSatelliteInfoSource::}{satellitesInUseUpdated()} signals are used
- to notify about the changes in satellite information.
-
- \snippet satelliteinfo/satellitemodel.cpp 0
-
- The aforementioned signals provide the lists of \l QGeoSatelliteInfo
- objects that represent satellites in view and satellites in use,
- respectively. This data is used to update the model.
-
- \snippet satelliteinfo/satellitemodel.cpp 1
-
- If the satellite info source is not available, demo data is used to simulate
- satellite information updates.
-
- \snippet satelliteinfo/satellitemodel.cpp 2
-
- The model is later used in QML to visualize the data.
-
- \section1 Exposing the Model to QML
-
- To expose \c SatelliteModel to QML, we use the \l QML_ELEMENT macro.
- See the \l QQmlEngine class documentation for more details on it.
-
- To make the type available in QML, we need to update our build accordingly.
-
- \section2 CMake Build
-
- For a CMake-based build, we need to add the following to the
- \c {CMakeLists.txt}:
-
- \quotefromfile satelliteinfo/CMakeLists.txt
- \skipto qt_add_qml_module(satelliteinfo
- \printuntil )
-
- \section2 qmake Build
-
- For a qmake build, we need to modify the \c {satelliteinfo.pro} file in the
- following way:
-
- \quotefromfile satelliteinfo/satelliteinfo.pro
- \skipto CONFIG
- \printuntil QML_IMPORT_MAJOR_VERSION
-*/
diff --git a/examples/positioning/satelliteinfo/main.cpp b/examples/positioning/satelliteinfo/main.cpp
deleted file mode 100644
index 4a96c4c9..00000000
--- a/examples/positioning/satelliteinfo/main.cpp
+++ /dev/null
@@ -1,71 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, 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 The Qt Company Ltd 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/QGuiApplication>
-#include <QtQml/qqml.h>
-#include <QtQml/QQmlEngine>
-#include <QtQuick/QQuickView>
-#include "satellitemodel.h"
-
-int main(int argc, char *argv[])
-{
- QGuiApplication app(argc, argv);
-
- QQuickView view;
- view.setSource(QStringLiteral("qrc:///satelliteinfo.qml"));
- view.setResizeMode(QQuickView::SizeRootObjectToView);
-
- QObject::connect(view.engine(), SIGNAL(quit()), qApp, SLOT(quit()));
- view.show();
-
- return app.exec();
-}
-
-
diff --git a/examples/positioning/satelliteinfo/satelliteinfo.pro b/examples/positioning/satelliteinfo/satelliteinfo.pro
deleted file mode 100644
index ebee0945..00000000
--- a/examples/positioning/satelliteinfo/satelliteinfo.pro
+++ /dev/null
@@ -1,26 +0,0 @@
-TEMPLATE = app
-TARGET = satelliteinfo
-
-QT += quick positioning
-
-CONFIG += qmltypes
-QML_IMPORT_NAME = Local
-QML_IMPORT_MAJOR_VERSION = 1
-
-SOURCES += main.cpp \
- satellitemodel.cpp
-
-HEADERS += \
- satellitemodel.h
-
-OTHER_FILES += \
- satelliteinfo.qml
-
-RESOURCES += \
- satelliteinfo.qrc
-
-target.path = $$[QT_INSTALL_EXAMPLES]/positioning/satelliteinfo
-INSTALLS += target
-
-
-
diff --git a/examples/positioning/satelliteinfo/satelliteinfo.qml b/examples/positioning/satelliteinfo/satelliteinfo.qml
deleted file mode 100644
index ef0c965e..00000000
--- a/examples/positioning/satelliteinfo/satelliteinfo.qml
+++ /dev/null
@@ -1,316 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, 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 The Qt Company Ltd 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 QtQuick 2.0
-import Local 1.0
-
-Rectangle {
- id: page
- width: 360
- height: 360
-
- SatelliteModel {
- id: satelliteModel
- running: true
- onErrorFound: function(code) {
- errorLabel.text = qsTr("Last Error: %1", "%1=error number").arg(code)
- }
- }
-
- Item {
- id: header
- height: column.height + 30
- width: parent.width
- state: "running"
-
- anchors.top: parent.top
-
- function toggle()
- {
- switch (header.state) {
- case "single": header.state = "running"; break;
- default:
- case "running": header.state = "stopped"; break;
- case "stopped": header.state = "single"; break;
- }
- }
-
- function enterSingle()
- {
- satelliteModel.singleRequestMode = true;
- satelliteModel.running = true;
- }
-
- function enterRunning()
- {
- satelliteModel.running = false;
- satelliteModel.singleRequestMode = false;
- satelliteModel.running = true;
- }
-
- states: [
- State {
- name: "stopped"
- PropertyChanges { target: startStop; bText: qsTr("Single") }
- PropertyChanges {
- target: modeLabel; text: qsTr("Current Mode: stopped")
- }
- PropertyChanges { target: satelliteModel; running: false; }
- },
- State {
- name: "single"
- PropertyChanges { target: startStop; bText: qsTr("Start") }
- PropertyChanges {
- target: modeLabel; text: qsTr("Current Mode: single")
- }
- StateChangeScript { script: header.enterSingle(); }
- },
- State {
- name: "running"
- PropertyChanges { target: startStop; bText: qsTr("Stop") }
- PropertyChanges {
- target: modeLabel; text: qsTr("Current Mode: running")
- }
- StateChangeScript { script: header.enterRunning(); }
- }
- ]
-
- Column {
- id: column
- anchors.verticalCenter: parent.verticalCenter
- anchors.left: parent.left
- anchors.margins: 7
- Text {
- id: overview
- text: satelliteModel.satelliteInfoAvailable
- ? qsTr("Known Satellites")
- : qsTr("Known Satellites (Demo Mode)")
- font.pointSize: 12
- }
-
- Text {
- id: modeLabel
- font.pointSize: 12
- }
-
- Text {
- id: errorLabel
- text: qsTr("Last Error: None")
- font.pointSize: 12
- }
- }
- Rectangle {
- id: startStop
- border.color: "black"
- border.width: 3
- anchors.right: parent.right
- anchors.verticalCenter: parent.verticalCenter
- anchors.margins: 7
- radius: 10
- height: maxField.height*1.4
- width: maxField.width*1.4
-
- property string bText: qsTr("Stop");
-
- Text { //need this for sizing
- id: maxField
- text: qsTr("Single")
- font.pointSize: 13
- opacity: 0
- }
-
- Text {
- id: buttonText
- anchors.centerIn: parent
- text: startStop.bText
- font.pointSize: 13
- }
-
- MouseArea {
- anchors.fill: parent
- onPressed: { startStop.color = "lightGray" }
- onClicked: { header.toggle() }
- onReleased: { startStop.color = "white" }
- }
- }
- }
-
- Rectangle {
- anchors.top: header.bottom
- anchors.bottom: parent.bottom
- anchors.left: parent.left
- anchors.right: parent.right
- anchors.margins: rect.myMargin
- border.width: 3
- radius: 10
- border.color: "black"
-
- Item {
- id: rect
- anchors.fill: parent
- anchors.margins: myMargin
- property int myMargin: 7
-
- Row {
- id: view
- property int rows: repeater.model.entryCount
- property int singleWidth: ((rect.width - scale.width)/rows )-rect.myMargin
- spacing: rect.myMargin
-
- Rectangle {
- id: scale
- width: strengthLabel.width+10
- height: rect.height
- color: "#32cd32"
- Text {
- anchors.horizontalCenter: parent.horizontalCenter
- anchors.bottom: lawngreenRect.top
- font.pointSize: 11
- text: "50"
- }
- Text {
- anchors.horizontalCenter: parent.horizontalCenter
- anchors.top: parent.top
- font.pointSize: 11
- text: "100"
- }
-
- Rectangle {
- id: redRect
- width: parent.width
- color: "red"
- height: parent.height*10/100
- anchors.bottom: parent.bottom
- Text {
- id: strengthLabel
- anchors.horizontalCenter: parent.horizontalCenter
- anchors.bottom: parent.bottom
- font.pointSize: 11
- text: "00"
- }
- }
- Rectangle {
- id: orangeRect
- height: parent.height*10/100
- anchors.bottom: redRect.top
- width: parent.width
- color: "#ffa500"
- Text {
- anchors.horizontalCenter: parent.horizontalCenter
- anchors.bottom: parent.bottom
- font.pointSize: 11
- text: "10"
- }
- }
- Rectangle {
- id: goldRect
- height: parent.height*10/100
- anchors.bottom: orangeRect.top
- width: parent.width
- color: "#ffd700"
- Text {
- anchors.horizontalCenter: parent.horizontalCenter
- anchors.bottom: parent.bottom
- font.pointSize: 11
- text: "20"
- }
- }
- Rectangle {
- id: yellowRect
- height: parent.height*10/100
- anchors.bottom: goldRect.top
- width: parent.width
- color: "yellow"
- Text {
- anchors.horizontalCenter: parent.horizontalCenter
- anchors.bottom: parent.bottom
- font.pointSize: 11
- text: "30"
- }
- }
- Rectangle {
- id: lawngreenRect
- height: parent.height*10/100
- anchors.bottom: yellowRect.top
- width: parent.width
- color: "#7cFc00"
- Text {
- anchors.horizontalCenter: parent.horizontalCenter
- anchors.bottom: parent.bottom
- font.pointSize: 11
- text: "40"
- }
- }
- }
-
- Repeater {
- id: repeater
- model: satelliteModel
- delegate: Rectangle {
- height: rect.height
- width: view.singleWidth
- Rectangle {
- anchors.bottom: parent.bottom
- width: parent.width
- height: parent.height*signalStrength/100
- color: isInUse ? "#7FFF0000" : "#7F0000FF"
- }
- Text {
- anchors.horizontalCenter: parent.horizontalCenter
- anchors.bottom: parent.bottom
- text: satelliteIdentifier
- }
- }
- }
- }
- }
- }
-}
-
diff --git a/examples/positioning/satelliteinfo/satelliteinfo.qrc b/examples/positioning/satelliteinfo/satelliteinfo.qrc
deleted file mode 100644
index 8745f87e..00000000
--- a/examples/positioning/satelliteinfo/satelliteinfo.qrc
+++ /dev/null
@@ -1,5 +0,0 @@
-<RCC>
- <qresource prefix="/">
- <file>satelliteinfo.qml</file>
- </qresource>
-</RCC>
diff --git a/examples/positioning/satelliteinfo/satellitemodel.cpp b/examples/positioning/satelliteinfo/satellitemodel.cpp
deleted file mode 100644
index 77c89035..00000000
--- a/examples/positioning/satelliteinfo/satellitemodel.cpp
+++ /dev/null
@@ -1,324 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, 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 The Qt Company Ltd 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 "satellitemodel.h"
-#include <QTimer>
-#include <QDebug>
-
-//! [0]
-SatelliteModel::SatelliteModel(QObject *parent) :
- QAbstractListModel(parent), source(0), m_componentCompleted(false), m_running(false),
- m_runningRequested(false), demo(false), isSingle(false), singleRequestServed(false)
-{
- source = QGeoSatelliteInfoSource::createDefaultSource(this);
- if (!demo && !source) {
- qWarning() << "No satellite data source found. Changing to demo mode.";
- demo = true;
- }
- if (!demo) {
- source->setUpdateInterval(3000);
- connect(source, SIGNAL(satellitesInViewUpdated(QList<QGeoSatelliteInfo>)),
- this, SLOT(satellitesInViewUpdated(QList<QGeoSatelliteInfo>)));
- connect(source, SIGNAL(satellitesInUseUpdated(QList<QGeoSatelliteInfo>)),
- this, SLOT(satellitesInUseUpdated(QList<QGeoSatelliteInfo>)));
- connect(source, SIGNAL(errorOccurred(QGeoSatelliteInfoSource::Error)),
- this, SLOT(error(QGeoSatelliteInfoSource::Error)));
- }
-
- if (demo) {
- timer = new QTimer(this);
- connect(timer, SIGNAL(timeout()), this, SLOT(updateDemoData()));
- timer->start(3000);
- }
-}
-//! [0]
-
-int SatelliteModel::rowCount(const QModelIndex &parent) const
-{
- Q_UNUSED(parent);
- if (!source && !demo)
- return 0;
-
- return knownSatellites.count();
-}
-
-QVariant SatelliteModel::data(const QModelIndex &index, int role) const
-{
- if (!demo && !source)
- return QVariant();
-
- if (!index.isValid() || index.row() < 0)
- return QVariant();
-
- if (index.row() >= knownSatellites.count()) {
- qWarning() << "SatelliteModel: Index out of bound";
- return QVariant();
- }
-
- const QGeoSatelliteInfo &info = knownSatellites.at(index.row());
- switch (role) {
- case IdentifierRole:
- return info.satelliteIdentifier();
- case InUseRole:
- return satellitesInUse.contains(info.satelliteIdentifier());
- case SignalStrengthRole:
- return info.signalStrength();
- case ElevationRole:
- if (!info.hasAttribute(QGeoSatelliteInfo::Elevation))
- return QVariant();
- return info.attribute(QGeoSatelliteInfo::Elevation);
- case AzimuthRole:
- if (!info.hasAttribute(QGeoSatelliteInfo::Azimuth))
- return QVariant();
- return info.attribute(QGeoSatelliteInfo::Azimuth);
- default:
- break;
-
- }
-
- return QVariant();
-}
-
-QHash<int, QByteArray> SatelliteModel::roleNames() const
-{
- QHash<int, QByteArray> roleNames;
- roleNames.insert(IdentifierRole, "satelliteIdentifier");
- roleNames.insert(InUseRole, "isInUse");
- roleNames.insert(SignalStrengthRole, "signalStrength");
- roleNames.insert(ElevationRole, "elevation");
- roleNames.insert(AzimuthRole, "azimuth");
- return roleNames;
-}
-
-void SatelliteModel::componentComplete()
-{
- m_componentCompleted = true;
- if (m_runningRequested)
- setRunning(true);
-}
-
-bool SatelliteModel::running() const
-{
- return m_running;
-}
-
-bool SatelliteModel::isSingleRequest() const
-{
- return isSingle;
-}
-
-void SatelliteModel::setSingleRequest(bool single)
-{
- if (running()) {
- qWarning() << "Cannot change single request mode while running";
- return;
- }
-
- if (single != isSingle) { //flag changed
- isSingle = single;
- emit singleRequestChanged();
- }
-}
-
-void SatelliteModel::setRunning(bool isActive)
-{
- if (!source && !demo)
- return;
-
- if (!m_componentCompleted) {
- m_runningRequested = isActive;
- return;
- }
-
- if (m_running == isActive)
- return;
-
- m_running = isActive;
-
- if (m_running) {
- clearModel();
- if (demo)
- timer->start(2000);
- else if (isSingleRequest())
- source->requestUpdate(10000);
- else
- source->startUpdates();
-
- if (demo)
- singleRequestServed = false;
- } else {
- if (demo)
- timer->stop();
- else if (!isSingleRequest())
- source->stopUpdates();
- }
-
-
- Q_EMIT runningChanged();
-}
-
-int SatelliteModel::entryCount() const
-{
- return knownSatellites.count();
-}
-
-bool SatelliteModel::canProvideSatelliteInfo() const
-{
- return !demo;
-}
-
-void SatelliteModel::clearModel()
-{
- beginResetModel();
- knownSatelliteIds.clear();
- knownSatellites.clear();
- satellitesInUse.clear();
- endResetModel();
-}
-
-//! [2]
-void SatelliteModel::updateDemoData()
-{
- static bool flag = true;
- QList<QGeoSatelliteInfo> satellites;
- if (flag) {
- for (int i = 0; i<5; i++) {
- QGeoSatelliteInfo info;
- info.setSatelliteIdentifier(i);
- info.setSignalStrength(20 + 20*i);
- satellites.append(info);
- }
- } else {
- for (int i = 0; i<9; i++) {
- QGeoSatelliteInfo info;
- info.setSatelliteIdentifier(i*2);
- info.setSignalStrength(20 + 10*i);
- satellites.append(info);
- }
- }
-
-
- satellitesInViewUpdated(satellites);
- flag ? satellitesInUseUpdated(QList<QGeoSatelliteInfo>() << satellites.at(2))
- : satellitesInUseUpdated(QList<QGeoSatelliteInfo>() << satellites.at(3));
- flag = !flag;
-
- emit errorFound(flag);
-
- if (isSingleRequest() && !singleRequestServed) {
- singleRequestServed = true;
- setRunning(false);
- }
-}
-//! [2]
-
-void SatelliteModel::error(QGeoSatelliteInfoSource::Error error)
-{
- emit errorFound((int)error);
-}
-
-QT_BEGIN_NAMESPACE
-inline bool operator<(const QGeoSatelliteInfo& a, const QGeoSatelliteInfo& b)
-{
- return a.satelliteIdentifier() < b.satelliteIdentifier();
-}
-QT_END_NAMESPACE
-
-//! [1]
-void SatelliteModel::satellitesInViewUpdated(const QList<QGeoSatelliteInfo> &infos)
-{
- if (!running())
- return;
-
- int oldEntryCount = knownSatellites.count();
-
-
- QSet<int> satelliteIdsInUpdate;
- foreach (const QGeoSatelliteInfo &info, infos)
- satelliteIdsInUpdate.insert(info.satelliteIdentifier());
-
- QSet<int> toBeRemoved = knownSatelliteIds - satelliteIdsInUpdate;
-
- //We reset the model as in reality just about all entry values change
- //and there are generally a lot of inserts and removals each time
- //Hence we don't bother with complex model update logic beyond resetModel()
- beginResetModel();
-
- knownSatellites = infos;
-
- //sort them for presentation purposes
- std::sort(knownSatellites.begin(), knownSatellites.end());
-
- //remove old "InUse" data
- //new satellites are by default not in "InUse"
- //existing satellites keep their "inUse" state
- satellitesInUse -= toBeRemoved;
-
- knownSatelliteIds = satelliteIdsInUpdate;
- endResetModel();
-
- if (oldEntryCount != knownSatellites.count())
- emit entryCountChanged();
-}
-
-void SatelliteModel::satellitesInUseUpdated(const QList<QGeoSatelliteInfo> &infos)
-{
- if (!running())
- return;
-
- beginResetModel();
-
- satellitesInUse.clear();
- foreach (const QGeoSatelliteInfo &info, infos)
- satellitesInUse.insert(info.satelliteIdentifier());
-
- endResetModel();
-}
-//! [1]
diff --git a/examples/positioning/satelliteinfo/satellitemodel.h b/examples/positioning/satelliteinfo/satellitemodel.h
deleted file mode 100644
index 18d94a59..00000000
--- a/examples/positioning/satelliteinfo/satellitemodel.h
+++ /dev/null
@@ -1,140 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, 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 The Qt Company Ltd 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$
-**
-****************************************************************************/
-
-#ifndef SATELLITEMODEL_H
-#define SATELLITEMODEL_H
-
-#include <QAbstractListModel>
-#include <QSet>
-#include <QtQml/qqml.h>
-#include <QtQml/QQmlParserStatus>
-#include <QtPositioning/QGeoSatelliteInfoSource>
-
-QT_FORWARD_DECLARE_CLASS(QTimer)
-QT_FORWARD_DECLARE_CLASS(QGeoSatelliteInfoSource)
-
-//! [0]
-class SatelliteModel : public QAbstractListModel, public QQmlParserStatus
-{
- Q_OBJECT
- Q_PROPERTY(bool running READ running WRITE setRunning NOTIFY runningChanged)
- Q_PROPERTY(bool satelliteInfoAvailable READ canProvideSatelliteInfo NOTIFY canProvideSatelliteInfoChanged)
- Q_PROPERTY(int entryCount READ entryCount NOTIFY entryCountChanged)
- Q_PROPERTY(bool singleRequestMode READ isSingleRequest WRITE setSingleRequest NOTIFY singleRequestChanged)
- Q_INTERFACES(QQmlParserStatus)
- QML_ELEMENT
-public:
- explicit SatelliteModel(QObject *parent = 0);
-
- enum {
- IdentifierRole = Qt::UserRole + 1,
- InUseRole,
- SignalStrengthRole,
- ElevationRole,
- AzimuthRole
- };
-
- //From QAbstractListModel
- int rowCount(const QModelIndex &parent) const override;
- QVariant data(const QModelIndex &index, int role) const override;
- QHash<int, QByteArray> roleNames() const override;
-
- //From QQmlParserStatus
- void classBegin() override {}
- void componentComplete() override;
-//! [0]
-
- bool running() const;
- void setRunning(bool isActive);
-
- bool isSingleRequest() const;
- void setSingleRequest(bool single);
-
- int entryCount() const;
-
- bool canProvideSatelliteInfo() const;
-
-//! [1]
-signals:
- void runningChanged();
- void entryCountChanged();
- void errorFound(int code);
- void canProvideSatelliteInfoChanged();
- void singleRequestChanged();
-
-public slots:
- void clearModel();
- void updateDemoData();
-//! [1]
-
-private slots:
- void error(QGeoSatelliteInfoSource::Error);
- void satellitesInViewUpdated(const QList<QGeoSatelliteInfo> &infos);
- void satellitesInUseUpdated(const QList<QGeoSatelliteInfo> &infos);
-
-private:
- QGeoSatelliteInfoSource *source;
- bool m_componentCompleted;
- bool m_running;
- bool m_runningRequested;
- QList <QGeoSatelliteInfo> knownSatellites;
- QSet<int> knownSatelliteIds;
- QSet<int> satellitesInUse;
- bool demo;
- QTimer *timer;
- bool isSingle;
- bool singleRequestServed;
-//! [2]
-};
-//! [2]
-
-QML_DECLARE_TYPE(SatelliteModel)
-
-#endif // SATELLITEMODEL_H
diff --git a/examples/positioning/weatherinfo/CMakeLists.txt b/examples/positioning/weatherinfo/CMakeLists.txt
deleted file mode 100644
index 861a0bc5..00000000
--- a/examples/positioning/weatherinfo/CMakeLists.txt
+++ /dev/null
@@ -1,80 +0,0 @@
-# Generated from weatherinfo.pro.
-
-cmake_minimum_required(VERSION 3.16)
-project(weatherinfo LANGUAGES CXX)
-
-set(CMAKE_INCLUDE_CURRENT_DIR ON)
-
-set(CMAKE_AUTOMOC ON)
-set(CMAKE_AUTORCC ON)
-set(CMAKE_AUTOUIC ON)
-
-if(NOT DEFINED INSTALL_EXAMPLESDIR)
- set(INSTALL_EXAMPLESDIR "examples")
-endif()
-
-set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/positioning/weatherinfo")
-
-find_package(Qt6 COMPONENTS Core)
-find_package(Qt6 COMPONENTS Gui)
-find_package(Qt6 COMPONENTS Network)
-find_package(Qt6 COMPONENTS Positioning)
-find_package(Qt6 COMPONENTS Qml)
-find_package(Qt6 COMPONENTS Quick)
-
-qt_add_executable(weatherinfo
- appmodel.cpp appmodel.h
- providerbackend.cpp providerbackend.h
- openweathermapbackend.cpp openweathermapbackend.h
- weatherapibackend.cpp weatherapibackend.h
- main.cpp
-)
-set_target_properties(weatherinfo PROPERTIES
- WIN32_EXECUTABLE TRUE
- MACOSX_BUNDLE TRUE
-)
-target_link_libraries(weatherinfo PRIVATE
- Qt::Core
- Qt::Gui
- Qt::Network
- Qt::Positioning
- Qt::Qml
- Qt::Quick
-)
-
-qt_add_qml_module(weatherinfo
- URI WeatherInfo
- VERSION 1.0
- QML_FILES
- components/BigForecastIcon.qml
- components/ForecastIcon.qml
- components/WeatherIcon.qml
- weatherinfo.qml
- RESOURCES
- icons/weather-few-clouds.png
- icons/weather-fog.png
- icons/weather-haze.png
- icons/weather-icy.png
- icons/weather-overcast.png
- icons/weather-showers.png
- icons/weather-sleet.png
- icons/weather-snow.png
- icons/weather-storm.png
- icons/weather-sunny-very-few-clouds.png
- icons/weather-sunny.png
- icons/weather-thundershower.png
- icons/weather-showers-scattered.png
- NO_RESOURCE_TARGET_PATH
-)
-
-if(IOS)
- set_target_properties(weatherinfo PROPERTIES
- MACOSX_BUNDLE_INFO_PLIST "${CMAKE_CURRENT_SOURCE_DIR}/ios/Info.plist"
- )
-endif()
-
-install(TARGETS weatherinfo
- RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
- BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
- LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
-)
diff --git a/examples/positioning/weatherinfo/appmodel.cpp b/examples/positioning/weatherinfo/appmodel.cpp
deleted file mode 100644
index a5f207f1..00000000
--- a/examples/positioning/weatherinfo/appmodel.cpp
+++ /dev/null
@@ -1,514 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2021 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, 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 The Qt Company Ltd 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 "appmodel.h"
-#include "openweathermapbackend.h"
-#include "weatherapibackend.h"
-
-#include <QGeoPositionInfoSource>
-#include <QGeoPositionInfo>
-#include <QGeoCircle>
-#include <QLoggingCategory>
-
-Q_LOGGING_CATEGORY(requestsLog, "wapp.requests")
-
-WeatherData::WeatherData(QObject *parent) :
- QObject(parent)
-{
-}
-
-WeatherData::WeatherData(const WeatherData &other) :
- QObject(nullptr),
- m_dayOfWeek(other.m_dayOfWeek),
- m_weather(other.m_weather),
- m_weatherDescription(other.m_weatherDescription),
- m_temperature(other.m_temperature)
-{
-}
-
-WeatherData::WeatherData(const WeatherInfo &other)
- : QObject(nullptr),
- m_dayOfWeek(other.m_dayOfWeek),
- m_weather(other.m_weatherIconId),
- m_weatherDescription(other.m_weatherDescription),
- m_temperature(other.m_temperature)
-{
-}
-
-QString WeatherData::dayOfWeek() const
-{
- return m_dayOfWeek;
-}
-
-/*!
- * The icon value is based on OpenWeatherMap.org icon set. For details
- * see http://bugs.openweathermap.org/projects/api/wiki/Weather_Condition_Codes
- *
- * e.g. 01d ->sunny day
- *
- * The icon string will be translated to
- * http://openweathermap.org/img/w/01d.png
- */
-QString WeatherData::weatherIcon() const
-{
- return m_weather;
-}
-
-QString WeatherData::weatherDescription() const
-{
- return m_weatherDescription;
-}
-
-QString WeatherData::temperature() const
-{
- return m_temperature;
-}
-
-void WeatherData::setDayOfWeek(const QString &value)
-{
- m_dayOfWeek = value;
- emit dataChanged();
-}
-
-void WeatherData::setWeatherIcon(const QString &value)
-{
- m_weather = value;
- emit dataChanged();
-}
-
-void WeatherData::setWeatherDescription(const QString &value)
-{
- m_weatherDescription = value;
- emit dataChanged();
-}
-
-void WeatherData::setTemperature(const QString &value)
-{
- m_temperature = value;
- emit dataChanged();
-}
-
-/*
- The class is used as a cache for the weather information.
- It contains a map to cache weather for cities.
- The gps location is cached separately.
-
- For the coordiante search we do not compare the coordinate directly, but
- check if it's within a circle of 3 km radius (we assume that the weather
- does not really change within that radius).
-
- The cache returns a pair with empty location and weather data if no data
- is found, or if the data is outdated.
-*/
-class WeatherDataCache
-{
-public:
- WeatherDataCache() = default;
-
- using WeatherDataPair = QPair<QString, QList<WeatherInfo>>;
-
- WeatherDataPair getWeatherData(const QString &name) const;
- WeatherDataPair getWeatherData(const QGeoCoordinate &coordinate) const;
-
- void addCacheElement(const LocationInfo &location, const QList<WeatherInfo> &info);
-
- static bool isCacheResultValid(const WeatherDataPair &result);
-
-private:
- struct CacheItem
- {
- qint64 m_cacheTime;
- QList<WeatherInfo> m_weatherData;
- };
-
- QMap<QString, CacheItem> m_cityCache;
-
- QGeoCoordinate m_gpsLocation;
- QString m_gpsName;
- CacheItem m_gpsData;
-
- static const qint64 kCacheTimeoutInterval = 3600; // 1 hour
- static const int kCircleRadius = 3000; // 3 km
-};
-
-WeatherDataCache::WeatherDataPair WeatherDataCache::getWeatherData(const QString &name) const
-{
- if (m_cityCache.contains(name)) {
- const qint64 currentTime = QDateTime::currentSecsSinceEpoch();
- const auto &item = m_cityCache.value(name);
- if (currentTime - item.m_cacheTime < kCacheTimeoutInterval)
- return qMakePair(name, item.m_weatherData);
- }
- return qMakePair(QString(), QList<WeatherInfo>());
-}
-
-WeatherDataCache::WeatherDataPair WeatherDataCache::getWeatherData(const QGeoCoordinate &coordinate) const
-{
- if (m_gpsLocation.isValid() && !m_gpsName.isEmpty()) {
- const QGeoCircle area(m_gpsLocation, kCircleRadius);
- if (area.contains(coordinate)) {
- const qint64 currentTime = QDateTime::currentSecsSinceEpoch();
- if (currentTime - m_gpsData.m_cacheTime < kCacheTimeoutInterval)
- return qMakePair(m_gpsName, m_gpsData.m_weatherData);
- }
- }
- return qMakePair(QString(), QList<WeatherInfo>());
-}
-
-void WeatherDataCache::addCacheElement(const LocationInfo &location, const QList<WeatherInfo> &info)
-{
- // It it expected that we have valid QGeoCoordinate only when the weather
- // is received based on coordinates.
- const qint64 currentTime = QDateTime::currentSecsSinceEpoch();
- if (location.m_coordinate.isValid()) {
- m_gpsLocation = location.m_coordinate;
- m_gpsName = location.m_name;
- m_gpsData = { currentTime, info };
- } else {
- m_cityCache[location.m_name] = { currentTime, info };
- }
-}
-
-bool WeatherDataCache::isCacheResultValid(const WeatherDataCache::WeatherDataPair &result)
-{
- return !result.first.isEmpty() && !result.second.isEmpty();
-}
-
-class AppModelPrivate
-{
-public:
- QGeoPositionInfoSource *src = nullptr;
- QGeoCoordinate coord;
- QString city;
- WeatherData now;
- QList<WeatherData*> forecast;
- QQmlListProperty<WeatherData> *fcProp = nullptr;
- bool ready = false;
- bool useGps = true;
- WeatherDataCache m_dataCache;
- ProviderBackend *m_currentBackend = nullptr;
- QList<ProviderBackend*> m_supportedBackends;
- qsizetype m_currentBackendIndex = 0;
-};
-
-static void forecastAppend(QQmlListProperty<WeatherData> *prop, WeatherData *val)
-{
- Q_UNUSED(val);
- Q_UNUSED(prop);
-}
-
-static WeatherData *forecastAt(QQmlListProperty<WeatherData> *prop, qsizetype index)
-{
- AppModelPrivate *d = static_cast<AppModelPrivate*>(prop->data);
- return d->forecast.at(index);
-}
-
-static qsizetype forecastCount(QQmlListProperty<WeatherData> *prop)
-{
- AppModelPrivate *d = static_cast<AppModelPrivate*>(prop->data);
- return d->forecast.size();
-}
-
-static void forecastClear(QQmlListProperty<WeatherData> *prop)
-{
- static_cast<AppModelPrivate*>(prop->data)->forecast.clear();
-}
-
-//! [0]
-AppModel::AppModel(QObject *parent) :
- QObject(parent),
- d(new AppModelPrivate)
-{
-//! [0]
- d->fcProp = new QQmlListProperty<WeatherData>(this, d, forecastAppend,
- forecastCount,
- forecastAt,
- forecastClear);
-
- d->m_supportedBackends.push_back(new OpenWeatherMapBackend(this));
- d->m_supportedBackends.push_back(new WeatherApiBackend(this));
- registerBackend(0);
-
-//! [1]
- d->src = QGeoPositionInfoSource::createDefaultSource(this);
-
- if (d->src) {
- d->useGps = true;
- connect(d->src, SIGNAL(positionUpdated(QGeoPositionInfo)),
- this, SLOT(positionUpdated(QGeoPositionInfo)));
- connect(d->src, SIGNAL(errorOccurred(QGeoPositionInfoSource::Error)),
- this, SLOT(positionError(QGeoPositionInfoSource::Error)));
- d->src->startUpdates();
- } else {
- d->useGps = false;
- d->city = "Brisbane";
- emit cityChanged();
- requestWeatherByCity();
- }
-}
-//! [1]
-
-AppModel::~AppModel()
-{
- if (d->src)
- d->src->stopUpdates();
- if (d->fcProp)
- delete d->fcProp;
- foreach (WeatherData *inf, d->forecast)
- delete inf;
- d->forecast.clear();
- delete d;
-}
-
-//! [2]
-void AppModel::positionUpdated(QGeoPositionInfo gpsPos)
-{
- d->coord = gpsPos.coordinate();
-
- if (!d->useGps)
- return;
-
- requestWeatherByCoordinates();
-}
-//! [2]
-
-void AppModel::positionError(QGeoPositionInfoSource::Error e)
-{
- Q_UNUSED(e);
- qWarning() << "Position source error. Falling back to simulation mode.";
-
- // activate simulation mode
- if (d->useGps) {
- d->useGps = false;
- d->city = "Brisbane";
- emit cityChanged();
- requestWeatherByCity();
- }
-}
-
-void AppModel::refreshWeather()
-{
- if (d->city.isEmpty()) {
- qCDebug(requestsLog) << "refreshing weather skipped (no city)";
- return;
- }
- qCDebug(requestsLog) << "refreshing weather";
- requestWeatherByCity();
-}
-
-void AppModel::handleWeatherData(const LocationInfo &location,
- const QList<WeatherInfo> &weatherDetails)
-{
- if (applyWeatherData(location.m_name, weatherDetails))
- d->m_dataCache.addCacheElement(location, weatherDetails);
-}
-
-void AppModel::switchToNextBackend()
-{
- deregisterCurrentBackend();
- registerBackend(d->m_currentBackendIndex + 1);
- if (d->m_currentBackend) {
- // repeat the query
- if (d->useGps)
- requestWeatherByCoordinates();
- else
- requestWeatherByCity();
- } else {
- qWarning("The application has iterated through all of the weather backends, "
- "and none of them seems to respond now. Please wait until any of the "
- "backends becomes available again.");
- }
-}
-
-bool AppModel::applyWeatherData(const QString &city, const QList<WeatherInfo> &weatherDetails)
-{
- // Check that we didn't get outdated weather data. The city should match,
- // if only we do not use GPS.
- if (city != d->city && !d->useGps)
- return false;
-
- if (city != d->city && d->useGps) {
- d->city = city;
- emit cityChanged();
- }
-
- // delete previous forecast
- foreach (WeatherData *inf, d->forecast)
- delete inf;
- d->forecast.clear();
-
- // The first item in the list represents current weather.
- if (!weatherDetails.isEmpty()) {
- d->now.setTemperature(weatherDetails.first().m_temperature);
- d->now.setWeatherIcon(weatherDetails.first().m_weatherIconId);
- d->now.setWeatherDescription(weatherDetails.first().m_weatherDescription);
- }
-
- // The other items represent weather forecast. The amount of items depends
- // on the provider backend.
- for (qsizetype i = 1; i < weatherDetails.size(); ++i) {
- WeatherData *forecastEntry = new WeatherData(weatherDetails.at(i));
- d->forecast.append(forecastEntry);
- }
-
- if (!d->ready) {
- d->ready = true;
- emit readyChanged();
- }
-
- emit weatherChanged();
-
- return true;
-}
-
-void AppModel::requestWeatherByCoordinates()
-{
- const auto cacheResult = d->m_dataCache.getWeatherData(d->coord);
- if (WeatherDataCache::isCacheResultValid(cacheResult))
- applyWeatherData(cacheResult.first, cacheResult.second);
- else if (d->m_currentBackend)
- d->m_currentBackend->requestWeatherInfo(d->coord);
-}
-
-void AppModel::requestWeatherByCity()
-{
- const auto cacheResult = d->m_dataCache.getWeatherData(d->city);
- if (WeatherDataCache::isCacheResultValid(cacheResult))
- applyWeatherData(cacheResult.first, cacheResult.second);
- else if (d->m_currentBackend)
- d->m_currentBackend->requestWeatherInfo(d->city);
-}
-
-void AppModel::registerBackend(qsizetype index)
-{
- if (index >= 0 && index < d->m_supportedBackends.size()) {
- d->m_currentBackend = d->m_supportedBackends.at(index);
- d->m_currentBackendIndex = index;
- connect(d->m_currentBackend, &ProviderBackend::weatherInformation,
- this, &AppModel::handleWeatherData);
- connect(d->m_currentBackend, &ProviderBackend::errorOccurred,
- this, &AppModel::switchToNextBackend);
- }
-}
-
-void AppModel::deregisterCurrentBackend()
-{
- if (d->m_currentBackend) {
- disconnect(d->m_currentBackend, &ProviderBackend::weatherInformation,
- this, &AppModel::handleWeatherData);
- disconnect(d->m_currentBackend, &ProviderBackend::errorOccurred,
- this, &AppModel::switchToNextBackend);
- d->m_currentBackend = nullptr;
- }
-}
-
-bool AppModel::hasValidCity() const
-{
- return (!(d->city.isEmpty()) && d->city.size() > 1 && d->city != "");
-}
-
-bool AppModel::hasValidWeather() const
-{
- return hasValidCity() && (!(d->now.weatherIcon().isEmpty()) &&
- (d->now.weatherIcon().size() > 1) &&
- d->now.weatherIcon() != "");
-}
-
-WeatherData *AppModel::weather() const
-{
- return &(d->now);
-}
-
-QQmlListProperty<WeatherData> AppModel::forecast() const
-{
- return *(d->fcProp);
-}
-
-bool AppModel::ready() const
-{
- return d->ready;
-}
-
-bool AppModel::hasSource() const
-{
- return (d->src != NULL);
-}
-
-bool AppModel::useGps() const
-{
- return d->useGps;
-}
-
-void AppModel::setUseGps(bool value)
-{
- d->useGps = value;
- if (value) {
- d->city = "";
- emit cityChanged();
- emit weatherChanged();
- // if we already have a valid GPS position, do not wait until it
- // updates, but query the city immediately
- if (d->coord.isValid())
- requestWeatherByCoordinates();
- }
- emit useGpsChanged();
-}
-
-QString AppModel::city() const
-{
- return d->city;
-}
-
-void AppModel::setCity(const QString &value)
-{
- d->city = value;
- emit cityChanged();
- requestWeatherByCity();
-}
diff --git a/examples/positioning/weatherinfo/appmodel.h b/examples/positioning/weatherinfo/appmodel.h
deleted file mode 100644
index 73a9d06a..00000000
--- a/examples/positioning/weatherinfo/appmodel.h
+++ /dev/null
@@ -1,190 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2021 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, 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 The Qt Company Ltd 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$
-**
-****************************************************************************/
-
-#ifndef APPMODEL_H
-#define APPMODEL_H
-
-#include <QtCore/QObject>
-#include <QtCore/QString>
-#include <QtNetwork/QNetworkReply>
-#include <QtQml/QQmlListProperty>
-#include <QtQml/qqml.h>
-
-#include <QtPositioning/QGeoPositionInfoSource>
-
-#include "providerbackend.h"
-
-//! [0]
-class WeatherData : public QObject {
- Q_OBJECT
- Q_PROPERTY(QString dayOfWeek
- READ dayOfWeek WRITE setDayOfWeek
- NOTIFY dataChanged)
- Q_PROPERTY(QString weatherIcon
- READ weatherIcon WRITE setWeatherIcon
- NOTIFY dataChanged)
- Q_PROPERTY(QString weatherDescription
- READ weatherDescription WRITE setWeatherDescription
- NOTIFY dataChanged)
- Q_PROPERTY(QString temperature
- READ temperature WRITE setTemperature
- NOTIFY dataChanged)
- QML_ANONYMOUS
-
-public:
- explicit WeatherData(QObject *parent = 0);
- WeatherData(const WeatherData &other);
- WeatherData(const WeatherInfo &other);
-
- QString dayOfWeek() const;
- QString weatherIcon() const;
- QString weatherDescription() const;
- QString temperature() const;
-
- void setDayOfWeek(const QString &value);
- void setWeatherIcon(const QString &value);
- void setWeatherDescription(const QString &value);
- void setTemperature(const QString &value);
-
-signals:
- void dataChanged();
-//! [0]
-private:
- QString m_dayOfWeek;
- QString m_weather;
- QString m_weatherDescription;
- QString m_temperature;
-//! [1]
-};
-//! [1]
-
-Q_DECLARE_METATYPE(WeatherData)
-
-class AppModelPrivate;
-//! [2]
-class AppModel : public QObject
-{
- Q_OBJECT
- Q_PROPERTY(bool ready
- READ ready
- NOTIFY readyChanged)
- Q_PROPERTY(bool hasSource
- READ hasSource
- NOTIFY readyChanged)
- Q_PROPERTY(bool hasValidCity
- READ hasValidCity
- NOTIFY cityChanged)
- Q_PROPERTY(bool hasValidWeather
- READ hasValidWeather
- NOTIFY weatherChanged)
- Q_PROPERTY(bool useGps
- READ useGps WRITE setUseGps
- NOTIFY useGpsChanged)
- Q_PROPERTY(QString city
- READ city WRITE setCity
- NOTIFY cityChanged)
- Q_PROPERTY(WeatherData *weather
- READ weather
- NOTIFY weatherChanged)
- Q_PROPERTY(QQmlListProperty<WeatherData> forecast
- READ forecast
- NOTIFY weatherChanged)
- QML_ELEMENT
-
-public:
- explicit AppModel(QObject *parent = 0);
- ~AppModel();
-
- bool ready() const;
- bool hasSource() const;
- bool useGps() const;
- bool hasValidCity() const;
- bool hasValidWeather() const;
- void setUseGps(bool value);
-
- QString city() const;
- void setCity(const QString &value);
-
- WeatherData *weather() const;
- QQmlListProperty<WeatherData> forecast() const;
-
-public slots:
- Q_INVOKABLE void refreshWeather();
-
-//! [2]
-private slots:
- void positionUpdated(QGeoPositionInfo gpsPos);
- void positionError(QGeoPositionInfoSource::Error e);
- void handleWeatherData(const LocationInfo &location, const QList<WeatherInfo> &weatherDetails);
- void switchToNextBackend();
-
-//! [3]
-signals:
- void readyChanged();
- void useGpsChanged();
- void cityChanged();
- void weatherChanged();
-//! [3]
-
-private:
- bool applyWeatherData(const QString &city, const QList<WeatherInfo> &weatherDetails);
- void requestWeatherByCoordinates();
- void requestWeatherByCity();
- void registerBackend(qsizetype index);
- void deregisterCurrentBackend();
-
-
- AppModelPrivate *d;
-
-//! [4]
-};
-//! [4]
-
-#endif // APPMODEL_H
diff --git a/examples/positioning/weatherinfo/components/BigForecastIcon.qml b/examples/positioning/weatherinfo/components/BigForecastIcon.qml
deleted file mode 100644
index 9fa854a0..00000000
--- a/examples/positioning/weatherinfo/components/BigForecastIcon.qml
+++ /dev/null
@@ -1,92 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, 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 The Qt Company Ltd 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 QtQuick 2.0
-
-Item {
- id: current
-
- property string topText: "20*"
- property string bottomText: "Mostly cloudy"
- property string weatherIcon: "sunny"
- property real smallSide: (current.width < current.height ? current.width : current.height)
-
- Text {
- text: current.topText
- font.pointSize: 28
- anchors {
- top: current.top
- left: current.left
- topMargin: 5
- leftMargin: 5
- }
- }
-
- WeatherIcon {
- weatherIcon: current.weatherIcon
- anchors.centerIn: parent
- anchors.verticalCenterOffset: -15
- width: current.smallSide
- height: current.smallSide
- }
-
- Text {
- text: current.bottomText
- font.pointSize: 23
- wrapMode: Text.WordWrap
- width: parent.width
- horizontalAlignment: Text.AlignRight
- anchors {
- bottom: current.bottom
- right: current.right
- rightMargin: 5
- }
- }
-}
diff --git a/examples/positioning/weatherinfo/components/ForecastIcon.qml b/examples/positioning/weatherinfo/components/ForecastIcon.qml
deleted file mode 100644
index ecf9a463..00000000
--- a/examples/positioning/weatherinfo/components/ForecastIcon.qml
+++ /dev/null
@@ -1,99 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, 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 The Qt Company Ltd 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 QtQuick 2.0
-
-Item {
- id: top
-
- property string topText: "Mon"
- property string weatherIcon: "sunny"
- property string bottomText: "22*/23*"
-
- Text {
- id: dayText
- horizontalAlignment: Text.AlignHCenter
- width: top.width
- text: top.topText
-
- anchors.top: parent.top
- anchors.topMargin: top.height / 5 - dayText.paintedHeight
- anchors.horizontalCenter: parent.horizontalCenter
- }
-
- WeatherIcon {
- id: icon
- weatherIcon: top.weatherIcon
-
- property real side: {
- var h = 3 * top.height / 5
- if (top.width < h)
- top.width;
- else
- h;
- }
-
- width: icon.side
- height: icon.side
-
- anchors.centerIn: parent
- }
-
- Text {
- id: tempText
- horizontalAlignment: Text.AlignHCenter
- width: top.width
- text: top.bottomText
-
- anchors.bottom: parent.bottom
- anchors.bottomMargin: top.height / 5 - tempText.paintedHeight
- anchors.horizontalCenter: parent.horizontalCenter
- }
-}
diff --git a/examples/positioning/weatherinfo/components/WeatherIcon.qml b/examples/positioning/weatherinfo/components/WeatherIcon.qml
deleted file mode 100644
index 47832c0e..00000000
--- a/examples/positioning/weatherinfo/components/WeatherIcon.qml
+++ /dev/null
@@ -1,64 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, 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 The Qt Company Ltd 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 QtQuick 2.0
-
-Item {
- id: container
-
- property string weatherIcon: "sunny"
-
- Image {
- id: img
- source: "../icons/weather-" + container.weatherIcon + ".png"
- smooth: true
- anchors.fill: parent
- }
-}
diff --git a/examples/positioning/weatherinfo/doc/images/example-weatherinfo.png b/examples/positioning/weatherinfo/doc/images/example-weatherinfo.png
deleted file mode 100644
index 3a1c6c24..00000000
--- a/examples/positioning/weatherinfo/doc/images/example-weatherinfo.png
+++ /dev/null
Binary files differ
diff --git a/examples/positioning/weatherinfo/doc/src/weatherinfo.qdoc b/examples/positioning/weatherinfo/doc/src/weatherinfo.qdoc
deleted file mode 100644
index 7d9cab6f..00000000
--- a/examples/positioning/weatherinfo/doc/src/weatherinfo.qdoc
+++ /dev/null
@@ -1,164 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2021 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
- \example weatherinfo
- \title Weather Info (C++/QML)
-
- \brief The Weather Info example shows how to use the user's current position
- to retrieve local content from a web service in a C++ plugin for QML.
-
- \ingroup qtpositioning-examples
-
- Key \l{Qt Positioning} classes used in this example:
-
- \list
- \li \l{QGeoPositionInfo}
- \li \l{QGeoPositionInfoSource}
- \endlist
-
- \image ../images/example-weatherinfo.png
-
- \include examples-run.qdocinc
-
- \section1 Weather Data Providers
-
- The example uses two unrelated weather data providers:
-
- \list
- \li \l {http://www.openweathermap.org}{OpenWeather}
- \li \l {https://www.weatherapi.com/}{WeatherAPI.com}
- \endlist
-
- The provider to be used is selected automatically at runtime and can be
- changed if the selected provider is not available. However, it can't be
- specified manually.
-
- \note Free plans are used for both providers, which implies certain
- limitations on the amount of weather requests. If the limits are exceeded,
- the providers become temporary unavailable. When both providers are
- unavailable, the application would not be able to show any weather
- information. In this case it is required to wait until at least one of the
- providers becomes available again.
-
- \section1 Application Data Models
-
- The key part of this example is the application's data model, contained
- in the \c WeatherData and \c AppModel classes. \c WeatherData represents
- the weather information taken from the HTTP service. It is a simple data
- class, but we use \l Q_PROPERTY to expose it nicely to QML later.
- It also uses \l QML_ANONYMOUS macro, which makes it recognized in QML.
-
- \snippet weatherinfo/appmodel.h 0
- \snippet weatherinfo/appmodel.h 1
-
- \c AppModel models the state of the entire application. At startup, we
- get the platform's default position source using
- \l QGeoPositionInfoSource::createDefaultSource().
-
- \snippet weatherinfo/appmodel.cpp 0
- \snippet weatherinfo/appmodel.cpp 1
-
- If no default source is available, we take a static position and fetch
- weather for that. If, however, we do have a position source, we connect
- its \l {QGeoPositionInfoSource::}{positionUpdated()} signal to a slot on the
- \c AppModel and call \l {QGeoPositionInfoSource::}{startUpdates()}, which
- begins regular updates of device position.
-
- When a position update is received, we use the longitude and latitude
- of the returned coordinate to retrieve weather data for the specified
- location.
-
- \snippet weatherinfo/appmodel.cpp 2
-
- To inform the UI about this process, the \c cityChanged() signal is emitted
- when a new city is used, and the \c weatherChanged() signal whenever a
- weather update occurs.
-
- The model also uses \l QML_ELEMENT macro, which makes it available in QML.
-
- \snippet weatherinfo/appmodel.h 2
- \snippet weatherinfo/appmodel.h 3
- \snippet weatherinfo/appmodel.h 4
-
- We use a \l QQmlListProperty for the weather forecast information,
- which contains the weather forecast for the next days (the number of days
- is provider-specific). This makes it easy to access the forecast from QML.
-
- \section1 Expose Custom Models to QML
-
- To expose the models to the QML UI layer, we use the \l QML_ELEMENT and
- \l QML_ANONYMOUS macros. See the \l QQmlEngine class description for more
- details on these macros.
-
- To make the types available in QML, we need to update our build accordingly.
-
- \section2 CMake Build
-
- For a CMake-based build, we need to add the following to the
- \c {CMakeLists.txt}:
-
- \quotefromfile weatherinfo/CMakeLists.txt
- \skipto qt_add_qml_module(weatherinfo
- \printuntil )
-
- \section2 qmake Build
-
- For a qmake build, we need to modify the \c {weatherinfo.pro} file in the
- following way:
-
- \quotefromfile weatherinfo/weatherinfo.pro
- \skipto CONFIG
- \printuntil QML_IMPORT_MAJOR_VERSION
-
- \section1 Instantiate the Models in QML
-
- Finally, in the actual QML, we instantiate the \c {AppModel}:
-
- \snippet weatherinfo/weatherinfo.qml 0
- \snippet weatherinfo/weatherinfo.qml 1
- \snippet weatherinfo/weatherinfo.qml 2
-
- Once the model is instantiated like this, we can use its properties
- elsewhere in the QML document:
-
- \snippet weatherinfo/weatherinfo.qml 3
- \snippet weatherinfo/weatherinfo.qml 4
-
- \section1 Files and Attributions
-
- The example bundles the following images from Third-Party sources:
-
- \table
- \row
- \li \l{weatherinfo-tango-icons}{Tango Icons}
- \li Public Domain
- \row
- \li \l{weatherinfo-tango-weather-pack}{Tango Weather Icon Pack by Darkobra}
- \li Public Domain
- \endtable
-*/
diff --git a/examples/positioning/weatherinfo/icons/README.txt b/examples/positioning/weatherinfo/icons/README.txt
deleted file mode 100644
index d3841532..00000000
--- a/examples/positioning/weatherinfo/icons/README.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-The scalable icons are from:
-
-http://tango.freedesktop.org/Tango_Icon_Library
-http://darkobra.deviantart.com/art/Tango-Weather-Icon-Pack-98024429
-
diff --git a/examples/positioning/weatherinfo/icons/qt_attribution.json b/examples/positioning/weatherinfo/icons/qt_attribution.json
deleted file mode 100644
index 23bbe386..00000000
--- a/examples/positioning/weatherinfo/icons/qt_attribution.json
+++ /dev/null
@@ -1,28 +0,0 @@
-[
- {
- "Id": "weatherinfo-tango-weather-pack",
- "Name": "Tango Weather Icon Pack by Darkobra",
- "QDocModule": "qtpositioning",
- "QtUsage": "Used in the \"Weather Info (C++/QML)\" example",
- "QtParts": [ "examples" ],
- "Description": "74 brand spankin' new Tango icons for your viewing pleasure.",
- "Homepage": "https://www.deviantart.com/darkobra/art/Tango-Weather-Icon-Pack-98024429",
-
- "License": "Public Domain",
- "Copyright": "Copyright DarKobra (C Stark)",
- "Files": "weather-fog.png weather-haze.png weather-icy.png weather-sleet.png weather-sunny.png weather-sunny-very-few-clouds.png weather-sunny-few-clouds.png weather-thunder-shower.png"
- },
- {
- "Id": "weatherinfo-tango-icons",
- "Name": "Tango Icons",
- "QDocModule": "qtpositioning",
- "QtUsage": "Used in the \"Weather Info (C++/QML)\" example",
- "QtParts": [ "examples" ],
- "Description": "The Tango Desktop Project exists to help create a consistent graphical user interface experience for free and Open Source software. ",
- "Homepage": "http://tango.freedesktop.org/Tango_Desktop_Project",
-
- "License": "Public Domain",
- "Copyright": "Copyright Tango Project contributors",
- "Files": "weather-few-clouds.png weather-overcast.png weather-showers.png weather-storm.png weather-snow.png weather-showers-scattered.png"
- }
-]
diff --git a/examples/positioning/weatherinfo/icons/weather-few-clouds.png b/examples/positioning/weatherinfo/icons/weather-few-clouds.png
deleted file mode 100644
index a8000ef0..00000000
--- a/examples/positioning/weatherinfo/icons/weather-few-clouds.png
+++ /dev/null
Binary files differ
diff --git a/examples/positioning/weatherinfo/icons/weather-fog.png b/examples/positioning/weatherinfo/icons/weather-fog.png
deleted file mode 100644
index 9ffe9c4a..00000000
--- a/examples/positioning/weatherinfo/icons/weather-fog.png
+++ /dev/null
Binary files differ
diff --git a/examples/positioning/weatherinfo/icons/weather-haze.png b/examples/positioning/weatherinfo/icons/weather-haze.png
deleted file mode 100644
index ae6f13eb..00000000
--- a/examples/positioning/weatherinfo/icons/weather-haze.png
+++ /dev/null
Binary files differ
diff --git a/examples/positioning/weatherinfo/icons/weather-icy.png b/examples/positioning/weatherinfo/icons/weather-icy.png
deleted file mode 100644
index 18d20384..00000000
--- a/examples/positioning/weatherinfo/icons/weather-icy.png
+++ /dev/null
Binary files differ
diff --git a/examples/positioning/weatherinfo/icons/weather-overcast.png b/examples/positioning/weatherinfo/icons/weather-overcast.png
deleted file mode 100644
index 9d50f77f..00000000
--- a/examples/positioning/weatherinfo/icons/weather-overcast.png
+++ /dev/null
Binary files differ
diff --git a/examples/positioning/weatherinfo/icons/weather-showers-scattered.png b/examples/positioning/weatherinfo/icons/weather-showers-scattered.png
deleted file mode 100644
index d3e5b166..00000000
--- a/examples/positioning/weatherinfo/icons/weather-showers-scattered.png
+++ /dev/null
Binary files differ
diff --git a/examples/positioning/weatherinfo/icons/weather-showers.png b/examples/positioning/weatherinfo/icons/weather-showers.png
deleted file mode 100644
index 07489aaa..00000000
--- a/examples/positioning/weatherinfo/icons/weather-showers.png
+++ /dev/null
Binary files differ
diff --git a/examples/positioning/weatherinfo/icons/weather-sleet.png b/examples/positioning/weatherinfo/icons/weather-sleet.png
deleted file mode 100644
index 3d225895..00000000
--- a/examples/positioning/weatherinfo/icons/weather-sleet.png
+++ /dev/null
Binary files differ
diff --git a/examples/positioning/weatherinfo/icons/weather-snow.png b/examples/positioning/weatherinfo/icons/weather-snow.png
deleted file mode 100644
index e7426e3c..00000000
--- a/examples/positioning/weatherinfo/icons/weather-snow.png
+++ /dev/null
Binary files differ
diff --git a/examples/positioning/weatherinfo/icons/weather-storm.png b/examples/positioning/weatherinfo/icons/weather-storm.png
deleted file mode 100644
index 6b6b366a..00000000
--- a/examples/positioning/weatherinfo/icons/weather-storm.png
+++ /dev/null
Binary files differ
diff --git a/examples/positioning/weatherinfo/icons/weather-sunny-very-few-clouds.png b/examples/positioning/weatherinfo/icons/weather-sunny-very-few-clouds.png
deleted file mode 100644
index 133bcb29..00000000
--- a/examples/positioning/weatherinfo/icons/weather-sunny-very-few-clouds.png
+++ /dev/null
Binary files differ
diff --git a/examples/positioning/weatherinfo/icons/weather-sunny.png b/examples/positioning/weatherinfo/icons/weather-sunny.png
deleted file mode 100644
index 0fac921d..00000000
--- a/examples/positioning/weatherinfo/icons/weather-sunny.png
+++ /dev/null
Binary files differ
diff --git a/examples/positioning/weatherinfo/icons/weather-thundershower.png b/examples/positioning/weatherinfo/icons/weather-thundershower.png
deleted file mode 100644
index 1aff1639..00000000
--- a/examples/positioning/weatherinfo/icons/weather-thundershower.png
+++ /dev/null
Binary files differ
diff --git a/examples/positioning/weatherinfo/ios/Info.plist b/examples/positioning/weatherinfo/ios/Info.plist
deleted file mode 100644
index f4929073..00000000
--- a/examples/positioning/weatherinfo/ios/Info.plist
+++ /dev/null
@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
- <key>CFBundleInfoDictionaryVersion</key>
- <string>6.0</string>
- <key>CFBundlePackageType</key>
- <string>APPL</string>
- <key>CFBundleIdentifier</key>
- <string>Anonymous.weatherinfo</string>
- <key>CFBundleExecutable</key>
- <string>$(EXECUTABLE_NAME)</string>
- <key>CFBundleVersion</key>
- <string>0.0.1</string>
- <key>CFBundleShortVersionString</key>
- <string>0.0.1</string>
- <key>CFBundleGetInfoString</key>
- <string></string>
- <key>NSHumanReadableCopyright</key>
- <string></string>
- <key>CFBundleIconFile</key>
- <string></string>
- <key>CFBundleDevelopmentRegion</key>
- <string>English</string>
- <key>LSRequiresIPhoneOS</key>
- <true/>
- <key>UILaunchStoryboardName</key>
- <string>LaunchScreen</string>
- <key>UISupportedInterfaceOrientations</key>
- <array>
- <string>UIInterfaceOrientationPortrait</string>
- <string>UIInterfaceOrientationPortraitUpsideDown</string>
- <string>UIInterfaceOrientationLandscapeLeft</string>
- <string>UIInterfaceOrientationLandscapeRight</string>
- </array>
- <key>NSLocationWhenInUseUsageDescription</key>
- <string>Location services needed to give local weather forecast</string>
-</dict>
-</plist>
diff --git a/examples/positioning/weatherinfo/main.cpp b/examples/positioning/weatherinfo/main.cpp
deleted file mode 100644
index a002a244..00000000
--- a/examples/positioning/weatherinfo/main.cpp
+++ /dev/null
@@ -1,74 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2021 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, 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 The Qt Company Ltd 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/QGuiApplication>
-#include <QtQuick/QQuickView>
-#include <QtQml/QQmlEngine>
-#include <QtQml/QQmlContext>
-#include <QtQuick/QQuickItem>
-#include <QLoggingCategory>
-
-#include "appmodel.h"
-
-int main(int argc, char *argv[])
-{
- QLoggingCategory::setFilterRules("wapp.*.debug=false");
- QGuiApplication application(argc, argv);
-
- const QString mainQmlApp = QStringLiteral("qrc:///weatherinfo.qml");
- QQuickView view;
- view.setSource(QUrl(mainQmlApp));
- view.setResizeMode(QQuickView::SizeRootObjectToView);
-
- QObject::connect(view.engine(), SIGNAL(quit()), qApp, SLOT(quit()));
- view.setGeometry(QRect(100, 100, 360, 640));
- view.show();
- return application.exec();
-}
diff --git a/examples/positioning/weatherinfo/openweathermapbackend.cpp b/examples/positioning/weatherinfo/openweathermapbackend.cpp
deleted file mode 100644
index 0a77579b..00000000
--- a/examples/positioning/weatherinfo/openweathermapbackend.cpp
+++ /dev/null
@@ -1,265 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2021 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, 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 The Qt Company Ltd 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 "openweathermapbackend.h"
-
-#include <QNetworkAccessManager>
-#include <QNetworkReply>
-#include <QUrlQuery>
-#include <QJsonDocument>
-#include <QJsonObject>
-#include <QJsonValue>
-#include <QJsonArray>
-#include <QGeoCoordinate>
-#include <QLoggingCategory>
-
-Q_DECLARE_LOGGING_CATEGORY(requestsLog)
-
-static constexpr auto kZeroKelvin = 273.15;
-
-static QString niceTemperatureString(double t)
-{
- return QString::number(qRound(t - kZeroKelvin)) + QChar(0xB0);
-}
-
-/*
- Converts weather code to a string that will be used to show the icon.
- The possible strings are based on the icon names. The icon name is built up
- as follows:
- weather-[mystring].png
- where [mystring] is the value returned by this method.
- Check resources for the full list of available icons.
-*/
-static QString weatherCodeToString(const QString &code)
-{
- if (code == u"01d" || code == u"01n")
- return "sunny";
- else if (code == u"02d" || code == u"02n")
- return "sunny-very-few-clouds";
- else if (code == u"03d" || code == u"03n")
- return "few-clouds";
- else if (code == u"04d" || code == u"04n")
- return "overcast";
- else if (code == u"09d" || code == u"09n" || code == u"10d" || code == u"10n")
- return "showers";
- else if (code == u"11d" || code == u"11n")
- return "thundershower";
- else if (code == u"13d" || code == u"13n")
- return "snow";
- else if (code == u"50d" || code == u"50n")
- return "fog";
-
- return "sunny"; // default choice
-}
-
-static void parseWeatherDescription(const QJsonObject &object, WeatherInfo &info)
-{
- const QJsonArray weatherArray = object.value(u"weather").toArray();
- if (!weatherArray.isEmpty()) {
- const QJsonObject obj = weatherArray.first().toObject();
- info.m_weatherDescription = obj.value(u"description").toString();
- info.m_weatherIconId = weatherCodeToString(obj.value(u"icon").toString());
- } else {
- qCDebug(requestsLog, "An empty weather array is returned.");
- }
-}
-
-OpenWeatherMapBackend::OpenWeatherMapBackend(QObject *parent)
- : ProviderBackend(parent),
- m_networkManager(new QNetworkAccessManager(this)),
- m_appId(QStringLiteral("36496bad1955bf3365448965a42b9eac"))
-{
-}
-
-void OpenWeatherMapBackend::requestWeatherInfo(const QString &city)
-{
- QUrlQuery query;
- query.addQueryItem(QStringLiteral("q"), city);
-
- requestCurrentWeather(query, QGeoCoordinate());
-}
-
-void OpenWeatherMapBackend::requestWeatherInfo(const QGeoCoordinate &coordinate)
-{
- QUrlQuery query;
- query.addQueryItem(QStringLiteral("lat"), QString::number(coordinate.latitude()));
- query.addQueryItem(QStringLiteral("lon"), QString::number(coordinate.longitude()));
-
- requestCurrentWeather(query, coordinate);
-}
-
-void OpenWeatherMapBackend::handleCurrentWeatherReply(QNetworkReply *reply,
- const QGeoCoordinate &coordinate)
-{
- if (!reply) {
- emit errorOccurred();
- return;
- }
- bool parsed = false;
- if (!reply->error()) {
- // extract info about current weather
- const QJsonDocument document = QJsonDocument::fromJson(reply->readAll());
- const QJsonObject documentObject = document.object();
-
- LocationInfo currentLocation;
- currentLocation.m_name = documentObject.value(u"name").toString();
- if (coordinate.isValid())
- currentLocation.m_coordinate = coordinate;
- qCDebug(requestsLog) << "Got current weather for" << currentLocation.m_name;
-
- WeatherInfo currentWeather;
-
- parseWeatherDescription(documentObject, currentWeather);
-
- const QJsonObject mainObject = documentObject.value(u"main").toObject();
- const QJsonValue tempValue = mainObject.value(u"temp");
- if (tempValue.isDouble())
- currentWeather.m_temperature = niceTemperatureString(tempValue.toDouble());
- else
- qCDebug(requestsLog, "Failed to parse current temperature.");
-
- parsed = !currentLocation.m_name.isEmpty() && !currentWeather.m_temperature.isEmpty();
-
- if (parsed) {
- // request forecast
- requestWeatherForecast(currentLocation, currentWeather);
- }
- }
- if (!parsed) {
- emit errorOccurred();
- if (reply->error())
- qCDebug(requestsLog) << reply->errorString();
- else
- qCDebug(requestsLog, "Failed to parse current weather JSON.");
- }
-
- reply->deleteLater();
-}
-
-void OpenWeatherMapBackend::handleWeatherForecastReply(QNetworkReply *reply,
- const LocationInfo &location,
- const WeatherInfo &currentWeather)
-{
- if (!reply) {
- emit errorOccurred();
- return;
- }
- if (!reply->error()) {
- QJsonDocument document = QJsonDocument::fromJson(reply->readAll());
- const QJsonObject documentObject = document.object();
-
- QList<WeatherInfo> weatherDetails;
- // current weather will be the first in the list
- weatherDetails << currentWeather;
-
- QJsonArray daysList = documentObject.value(u"list").toArray();
- // include current day as well
- for (qsizetype i = 0; i < daysList.size(); ++i) {
- QJsonObject dayObject = daysList.at(i).toObject();
- WeatherInfo info;
-
- const QDateTime dt = QDateTime::fromSecsSinceEpoch(dayObject.value(u"dt").toInteger());
- info.m_dayOfWeek = dt.toString(u"ddd");
-
- const QJsonObject tempObject = dayObject.value(u"temp").toObject();
-
- const QJsonValue minTemp = tempObject.value(u"min");
- const QJsonValue maxTemp = tempObject.value(u"max");
- if (minTemp.isDouble() && maxTemp.isDouble()) {
- info.m_temperature = niceTemperatureString(minTemp.toDouble()) + QChar('/')
- + niceTemperatureString(maxTemp.toDouble());
- } else {
- qCDebug(requestsLog, "Failed to parse min or max temperature.");
- }
-
- parseWeatherDescription(dayObject, info);
-
- if (!info.m_temperature.isEmpty() && !info.m_weatherIconId.isEmpty())
- weatherDetails.push_back(info);
- }
-
- emit weatherInformation(location, weatherDetails);
- } else {
- emit errorOccurred();
- qCDebug(requestsLog) << reply->errorString();
- }
-
- reply->deleteLater();
-}
-
-void OpenWeatherMapBackend::requestCurrentWeather(QUrlQuery &query,
- const QGeoCoordinate &coordinate)
-{
- QUrl url("http://api.openweathermap.org/data/2.5/weather");
- query.addQueryItem(QStringLiteral("mode"), QStringLiteral("json"));
- query.addQueryItem(QStringLiteral("APPID"), m_appId);
- url.setQuery(query);
-
- QNetworkReply *reply = m_networkManager->get(QNetworkRequest(url));
- connect(reply, &QNetworkReply::finished, this,
- [this, reply, coordinate]() { handleCurrentWeatherReply(reply, coordinate); });
-}
-
-void OpenWeatherMapBackend::requestWeatherForecast(const LocationInfo &location,
- const WeatherInfo &currentWeather)
-{
- QUrl url("http://api.openweathermap.org/data/2.5/forecast/daily");
- QUrlQuery query;
- query.addQueryItem(QStringLiteral("q"), location.m_name);
- query.addQueryItem(QStringLiteral("mode"), QStringLiteral("json"));
- query.addQueryItem(QStringLiteral("cnt"), QStringLiteral("4"));
- query.addQueryItem(QStringLiteral("APPID"), m_appId);
- url.setQuery(query);
-
- QNetworkReply *reply = m_networkManager->get(QNetworkRequest(url));
- connect(reply, &QNetworkReply::finished, this, [this, reply, location, currentWeather]() {
- handleWeatherForecastReply(reply, location, currentWeather);
- });
-}
diff --git a/examples/positioning/weatherinfo/openweathermapbackend.h b/examples/positioning/weatherinfo/openweathermapbackend.h
deleted file mode 100644
index 7f4e5f97..00000000
--- a/examples/positioning/weatherinfo/openweathermapbackend.h
+++ /dev/null
@@ -1,85 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2021 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, 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 The Qt Company Ltd 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$
-**
-****************************************************************************/
-
-#ifndef OPENWEATHERMAPBACKEND_H
-#define OPENWEATHERMAPBACKEND_H
-
-#include "providerbackend.h"
-
-QT_BEGIN_NAMESPACE
-class QNetworkAccessManager;
-class QNetworkReply;
-class QUrlQuery;
-QT_END_NAMESPACE
-
-class OpenWeatherMapBackend : public ProviderBackend
-{
- Q_OBJECT
-public:
- explicit OpenWeatherMapBackend(QObject *parent = nullptr);
- ~OpenWeatherMapBackend() = default;
-
- void requestWeatherInfo(const QString &city) override;
- void requestWeatherInfo(const QGeoCoordinate &coordinate) override;
-
-private slots:
- void handleCurrentWeatherReply(QNetworkReply *reply, const QGeoCoordinate &coordinate);
- void handleWeatherForecastReply(QNetworkReply *reply, const LocationInfo &location,
- const WeatherInfo &currentWeather);
-
-private:
- void requestCurrentWeather(QUrlQuery &query, const QGeoCoordinate &coordinate);
- void requestWeatherForecast(const LocationInfo &location, const WeatherInfo &currentWeather);
-
- QNetworkAccessManager *m_networkManager;
- const QString m_appId;
-};
-
-#endif // OPENWEATHERMAPBACKEND_H
diff --git a/examples/positioning/weatherinfo/providerbackend.cpp b/examples/positioning/weatherinfo/providerbackend.cpp
deleted file mode 100644
index 30c45209..00000000
--- a/examples/positioning/weatherinfo/providerbackend.cpp
+++ /dev/null
@@ -1,53 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2021 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, 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 The Qt Company Ltd 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 "providerbackend.h"
-
-ProviderBackend::ProviderBackend(QObject *parent) : QObject(parent) { }
diff --git a/examples/positioning/weatherinfo/providerbackend.h b/examples/positioning/weatherinfo/providerbackend.h
deleted file mode 100644
index c59f6c49..00000000
--- a/examples/positioning/weatherinfo/providerbackend.h
+++ /dev/null
@@ -1,90 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2021 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, 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 The Qt Company Ltd 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$
-**
-****************************************************************************/
-
-#ifndef PROVIDERBACKEND_H
-#define PROVIDERBACKEND_H
-
-#include <QObject>
-#include <QGeoCoordinate>
-
-struct WeatherInfo
-{
- QString m_dayOfWeek;
- QString m_weatherIconId;
- QString m_weatherDescription;
- QString m_temperature;
-};
-
-struct LocationInfo
-{
- QString m_name;
- QGeoCoordinate m_coordinate;
-};
-
-class ProviderBackend : public QObject
-{
- Q_OBJECT
-public:
- explicit ProviderBackend(QObject *parent = nullptr);
-
- virtual void requestWeatherInfo(const QString &city) = 0;
- virtual void requestWeatherInfo(const QGeoCoordinate &coordinate) = 0;
-
-signals:
- // The first element in weatherDetails represents current weather.
- // Next are the weather forecast, including the current day.
- // The LocationInfo object should contain valid coordinate only when it was
- // initially used to request the weather. If the city name was used, an
- // empty coordinate is expected to be transferred.
- void weatherInformation(const LocationInfo &location, const QList<WeatherInfo> &weatherDetails);
- void errorOccurred();
-};
-
-#endif // PROVIDERBACKEND_H
diff --git a/examples/positioning/weatherinfo/weatherapibackend.cpp b/examples/positioning/weatherinfo/weatherapibackend.cpp
deleted file mode 100644
index a98f7dbb..00000000
--- a/examples/positioning/weatherinfo/weatherapibackend.cpp
+++ /dev/null
@@ -1,266 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2021 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, 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 The Qt Company Ltd 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 "weatherapibackend.h"
-
-#include <QNetworkAccessManager>
-#include <QNetworkReply>
-#include <QUrlQuery>
-#include <QJsonDocument>
-#include <QJsonObject>
-#include <QJsonValue>
-#include <QJsonArray>
-#include <QLoggingCategory>
-
-Q_DECLARE_LOGGING_CATEGORY(requestsLog)
-
-static QString niceTemperatureString(double t)
-{
- return QString::number(qRound(t)) + QChar(0xB0);
-}
-
-/*
- Converts weather code to a string that will be used to show the icon.
- The possible strings are based on the icon names. The icon name is built up
- as follows:
- weather-[mystring].png
- where [mystring] is the value returned by this method.
- Check resources for the full list of available icons.
-*/
-static QString weatherCodeToString(int code)
-{
- switch (code) {
- case 1000:
- return "sunny";
- case 1003:
- return "sunny-very-few-clouds";
- case 1006:
- return "few-clouds";
- case 1009:
- return "overcast";
- case 1030:
- case 1135:
- case 1147:
- return "fog";
- case 1063:
- case 1072:
- case 1150:
- case 1153:
- case 1168:
- case 1171:
- case 1180:
- case 1183:
- case 1186:
- case 1189:
- case 1198:
- return "showers-scattered";
- case 1066:
- case 1069:
- case 1114:
- case 1117:
- case 1210:
- case 1213:
- case 1216:
- case 1219:
- case 1222:
- case 1225:
- case 1237:
- case 1255:
- case 1258:
- case 1261:
- case 1264:
- case 1279:
- case 1282:
- return "snow";
- case 1087:
- return "storm";
- case 1192:
- case 1195:
- case 1201:
- case 1240:
- case 1243:
- case 1246:
- return "showers";
- case 1204:
- case 1207:
- case 1249:
- case 1252:
- return "sleet";
- case 1273:
- case 1276:
- return "thundershower";
- default:
- return "sunny";
- }
-
- return "sunny"; // default choice
-}
-
-static void parseWeatherDescription(const QJsonObject &object, WeatherInfo &info)
-{
- const QJsonObject conditionObject = object.value(u"condition").toObject();
- info.m_weatherDescription = conditionObject.value(u"text").toString();
- info.m_weatherIconId = weatherCodeToString(conditionObject.value(u"code").toInt());
-}
-
-WeatherApiBackend::WeatherApiBackend(QObject *parent)
- : ProviderBackend(parent),
- m_networkManager(new QNetworkAccessManager(this)),
- m_apiKey(QStringLiteral("8edde160c63c4be6b77101828211208"))
-{
-}
-
-void WeatherApiBackend::requestWeatherInfo(const QString &city)
-{
- generateWeatherRequest(city, QGeoCoordinate());
-}
-
-void WeatherApiBackend::requestWeatherInfo(const QGeoCoordinate &coordinate)
-{
- const QString coordinateStr =
- QString("%1,%2").arg(coordinate.latitude()).arg(coordinate.longitude());
- generateWeatherRequest(coordinateStr, coordinate);
-}
-
-void WeatherApiBackend::handleWeatherForecastReply(QNetworkReply *reply,
- const QGeoCoordinate &coordinate)
-{
- if (!reply) {
- emit errorOccurred();
- return;
- }
- bool parsed = false;
- if (!reply->error()) {
- QJsonDocument document = QJsonDocument::fromJson(reply->readAll());
- const QJsonObject documentObject = document.object();
- const QJsonObject locationObject = documentObject.value(u"location").toObject();
-
- // extract location name
- LocationInfo location;
- location.m_name = locationObject.value(u"name").toString();
- if (coordinate.isValid())
- location.m_coordinate = coordinate;
- qCDebug(requestsLog) << "Got weather for" << location.m_name;
-
- // extract current weather
- WeatherInfo currentWeather;
-
- const QJsonObject currentWeatherObject = documentObject.value(u"current").toObject();
- const QJsonValue temperature = currentWeatherObject.value(u"temp_c");
- if (temperature.isDouble())
- currentWeather.m_temperature = niceTemperatureString(temperature.toDouble());
-
- parseWeatherDescription(currentWeatherObject, currentWeather);
-
- parsed = !location.m_name.isEmpty() && !currentWeather.m_temperature.isEmpty();
-
- if (parsed) {
- QList<WeatherInfo> weatherDetails;
- weatherDetails << currentWeather;
-
- // extract forecast details
- const QJsonObject forecastObject = documentObject.value(u"forecast").toObject();
- const QJsonArray forecastDays = forecastObject.value(u"forecastday").toArray();
- for (qsizetype i = 0; i < forecastDays.size(); ++i) {
- const QJsonObject dayInfo = forecastDays.at(i).toObject();
- WeatherInfo info;
-
- const QDateTime dt =
- QDateTime::fromSecsSinceEpoch(dayInfo.value(u"date_epoch").toInteger());
- info.m_dayOfWeek = dt.toString(u"ddd");
-
- const QJsonObject dayObject = dayInfo.value(u"day").toObject();
- const QJsonValue minTemp = dayObject.value(u"mintemp_c");
- const QJsonValue maxTemp = dayObject.value(u"maxtemp_c");
- if (minTemp.isDouble() && maxTemp.isDouble()) {
- info.m_temperature = niceTemperatureString(minTemp.toDouble()) + QChar('/')
- + niceTemperatureString(maxTemp.toDouble());
- } else {
- qCDebug(requestsLog, "Failed to parse min or max temperature.");
- }
-
- parseWeatherDescription(dayObject, info);
-
- if (!info.m_temperature.isEmpty() && !info.m_weatherIconId.isEmpty())
- weatherDetails.push_back(info);
- }
-
- emit weatherInformation(location, weatherDetails);
- }
- }
- if (!parsed) {
- emit errorOccurred();
- if (reply->error())
- qCDebug(requestsLog) << reply->errorString();
- else
- qCDebug(requestsLog, "Failed to parse weather JSON.");
- }
-
- reply->deleteLater();
-}
-
-void WeatherApiBackend::generateWeatherRequest(const QString &locationString,
- const QGeoCoordinate &coordinate)
-{
- QUrl url("https://api.weatherapi.com/v1/forecast.json");
-
- QUrlQuery query;
- query.addQueryItem(QStringLiteral("key"), m_apiKey);
- query.addQueryItem(QStringLiteral("q"), locationString);
- query.addQueryItem(QStringLiteral("days"), QStringLiteral("4"));
- query.addQueryItem(QStringLiteral("aqi"), QStringLiteral("no"));
- query.addQueryItem(QStringLiteral("alerts"), QStringLiteral("no"));
-
- url.setQuery(query);
-
- QNetworkReply *reply = m_networkManager->get(QNetworkRequest(url));
- connect(reply, &QNetworkReply::finished, this,
- [this, reply, coordinate]() { handleWeatherForecastReply(reply, coordinate); });
-}
diff --git a/examples/positioning/weatherinfo/weatherapibackend.h b/examples/positioning/weatherinfo/weatherapibackend.h
deleted file mode 100644
index dce078a1..00000000
--- a/examples/positioning/weatherinfo/weatherapibackend.h
+++ /dev/null
@@ -1,80 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2021 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, 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 The Qt Company Ltd 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$
-**
-****************************************************************************/
-
-#ifndef WEATHERAPIBACKEND_H
-#define WEATHERAPIBACKEND_H
-
-#include "providerbackend.h"
-
-QT_BEGIN_NAMESPACE
-class QNetworkAccessManager;
-class QNetworkReply;
-QT_END_NAMESPACE
-
-class WeatherApiBackend : public ProviderBackend
-{
- Q_OBJECT
-public:
- explicit WeatherApiBackend(QObject *parent = nullptr);
-
- void requestWeatherInfo(const QString &city) override;
- void requestWeatherInfo(const QGeoCoordinate &coordinate) override;
-
-private slots:
- void handleWeatherForecastReply(QNetworkReply *reply, const QGeoCoordinate &coordinate);
-
-private:
- void generateWeatherRequest(const QString &locationString, const QGeoCoordinate &coordinate);
-
- QNetworkAccessManager *m_networkManager;
- const QString m_apiKey;
-};
-
-#endif // WEATHERAPIBACKEND_H
diff --git a/examples/positioning/weatherinfo/weatherinfo.pro b/examples/positioning/weatherinfo/weatherinfo.pro
deleted file mode 100644
index 35f137e0..00000000
--- a/examples/positioning/weatherinfo/weatherinfo.pro
+++ /dev/null
@@ -1,34 +0,0 @@
-TEMPLATE = app
-TARGET = weatherinfo
-
-QT += core network positioning qml quick
-
-CONFIG += qmltypes
-QML_IMPORT_NAME = WeatherInfo
-QML_IMPORT_MAJOR_VERSION = 1
-
-SOURCES += main.cpp \
- appmodel.cpp \
- openweathermapbackend.cpp \
- providerbackend.cpp \
- weatherapibackend.cpp
-
-OTHER_FILES += weatherinfo.qml \
- components/WeatherIcon.qml \
- components/ForecastIcon.qml \
- components/BigForecastIcon.qml \
- icons/*
-
-ios {
- QMAKE_INFO_PLIST = ios/Info.plist
-}
-
-RESOURCES += weatherinfo.qrc
-
-HEADERS += appmodel.h \
- openweathermapbackend.h \
- providerbackend.h \
- weatherapibackend.h
-
-target.path = $$[QT_INSTALL_EXAMPLES]/positioning/weatherinfo
-INSTALLS += target
diff --git a/examples/positioning/weatherinfo/weatherinfo.qml b/examples/positioning/weatherinfo/weatherinfo.qml
deleted file mode 100644
index 62bbe7d7..00000000
--- a/examples/positioning/weatherinfo/weatherinfo.qml
+++ /dev/null
@@ -1,208 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, 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 The Qt Company Ltd 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 QtQuick 2.0
-import "components"
-//! [0]
-import WeatherInfo 1.0
-
-Item {
- id: window
-//! [0]
- width: 360
- height: 640
-
- state: "loading"
-
- states: [
- State {
- name: "loading"
- PropertyChanges { target: main; opacity: 0 }
- PropertyChanges { target: wait; opacity: 1 }
- },
- State {
- name: "ready"
- PropertyChanges { target: main; opacity: 1 }
- PropertyChanges { target: wait; opacity: 0 }
- }
- ]
-//! [1]
- AppModel {
- id: appModel
- onReadyChanged: {
- if (appModel.ready)
- window.state = "ready"
- else
- window.state = "loading"
- }
- }
-//! [1]
- Item {
- id: wait
- anchors.fill: parent
-
- Text {
- text: "Loading weather data..."
- anchors.centerIn: parent
- font.pointSize: 18
- }
- }
-
- Item {
- id: main
- anchors.fill: parent
-
- Column {
- spacing: 6
-
- anchors {
- fill: parent
- topMargin: 6; bottomMargin: 6; leftMargin: 6; rightMargin: 6
- }
-
- Rectangle {
- width: parent.width
- height: 25
- color: "lightgrey"
-
- Text {
- text: (appModel.hasValidCity ? appModel.city : "Unknown location") + (appModel.useGps ? " (GPS)" : "")
- anchors.fill: parent
- horizontalAlignment: Text.AlignHCenter
- verticalAlignment: Text.AlignVCenter
- }
-
- MouseArea {
- anchors.fill: parent
- onClicked: {
- if (appModel.useGps) {
- appModel.useGps = false
- appModel.city = "Brisbane"
- } else {
- switch (appModel.city) {
- case "Brisbane":
- appModel.city = "Oslo"
- break
- case "Oslo":
- appModel.city = "Helsinki"
- break
- case "Helsinki":
- appModel.city = "New York"
- break
- case "New York":
- appModel.useGps = true
- break
- }
- }
- }
- }
- }
-
-//! [3]
- BigForecastIcon {
- id: current
-
- width: main.width -12
- height: 2 * (main.height - 25 - 12) / 3
-
- weatherIcon: (appModel.hasValidWeather
- ? appModel.weather.weatherIcon
- : "sunny")
-//! [3]
- topText: (appModel.hasValidWeather
- ? appModel.weather.temperature
- : "??")
- bottomText: (appModel.hasValidWeather
- ? appModel.weather.weatherDescription
- : "No weather data")
-
- MouseArea {
- anchors.fill: parent
- onClicked: {
- appModel.refreshWeather()
- }
- }
-//! [4]
- }
-//! [4]
-
- Row {
- id: iconRow
- spacing: 6
-
- width: main.width - 12
- height: (main.height - 25 - 24) / 3
-
- property int daysCount: appModel.forecast.length
- property real iconWidth: (daysCount > 0) ? (iconRow.width / daysCount) - 10
- : iconRow.width
- property real iconHeight: iconRow.height
-
- Repeater {
- model: appModel.forecast
- ForecastIcon {
- id: forecast1
- width: iconRow.iconWidth
- height: iconRow.iconHeight
-
- topText: (appModel.hasValidWeather ?
- modelData.dayOfWeek : "??")
- bottomText: (appModel.hasValidWeather ?
- modelData.temperature : "??/??")
- weatherIcon: (appModel.hasValidWeather ?
- modelData.weatherIcon : "sunny")
- }
- }
- }
- }
- }
-//! [2]
-}
-//! [2]
diff --git a/examples/positioning/weatherinfo/weatherinfo.qrc b/examples/positioning/weatherinfo/weatherinfo.qrc
deleted file mode 100644
index 1578fa9d..00000000
--- a/examples/positioning/weatherinfo/weatherinfo.qrc
+++ /dev/null
@@ -1,21 +0,0 @@
-<RCC>
- <qresource prefix="/">
- <file>weatherinfo.qml</file>
- <file>components/BigForecastIcon.qml</file>
- <file>components/ForecastIcon.qml</file>
- <file>components/WeatherIcon.qml</file>
- <file>icons/weather-few-clouds.png</file>
- <file>icons/weather-fog.png</file>
- <file>icons/weather-haze.png</file>
- <file>icons/weather-icy.png</file>
- <file>icons/weather-overcast.png</file>
- <file>icons/weather-showers.png</file>
- <file>icons/weather-sleet.png</file>
- <file>icons/weather-snow.png</file>
- <file>icons/weather-storm.png</file>
- <file>icons/weather-sunny-very-few-clouds.png</file>
- <file>icons/weather-sunny.png</file>
- <file>icons/weather-thundershower.png</file>
- <file>icons/weather-showers-scattered.png</file>
- </qresource>
-</RCC>