aboutsummaryrefslogtreecommitdiffstats
path: root/src/neptune-cluster-app/apps/com.pelagicore.map-ic/stores
diff options
context:
space:
mode:
authorBramastyo Harimukti Santoso <bram.santoso@qt.io>2021-01-19 16:23:52 +0100
committerBramastyo Harimukti Santoso <bram.santoso@qt.io>2021-01-19 16:47:09 +0100
commitdf878f3935fe28dd3d7253b9fa59d65db331eed0 (patch)
treedf27168c9196d4ff4458f86a9fefdd6ecee84d47 /src/neptune-cluster-app/apps/com.pelagicore.map-ic/stores
parent88c1d70ca626be6420160c6218e07867541ae8e3 (diff)
parente5dcdea6750b7689feae69083f39f283cc79b9b1 (diff)
Merge remote-tracking branch 'origin/5.15' into dev
Diffstat (limited to 'src/neptune-cluster-app/apps/com.pelagicore.map-ic/stores')
-rw-r--r--src/neptune-cluster-app/apps/com.pelagicore.map-ic/stores/MapStore.qml140
-rw-r--r--src/neptune-cluster-app/apps/com.pelagicore.map-ic/stores/qmldir1
2 files changed, 141 insertions, 0 deletions
diff --git a/src/neptune-cluster-app/apps/com.pelagicore.map-ic/stores/MapStore.qml b/src/neptune-cluster-app/apps/com.pelagicore.map-ic/stores/MapStore.qml
new file mode 100644
index 00000000..54659583
--- /dev/null
+++ b/src/neptune-cluster-app/apps/com.pelagicore.map-ic/stores/MapStore.qml
@@ -0,0 +1,140 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 Luxoft Sweden AB
+** Copyright (C) 2018 Pelagicore AG
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the Neptune 3 UI.
+**
+** $QT_BEGIN_LICENSE:GPL-QTAS$
+** Commercial License Usage
+** Licensees holding valid commercial Qt Automotive Suite 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 General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3 or (at your option) any later version
+** approved by the KDE Free Qt Foundation. The licenses are as published by
+** the Free Software Foundation and appearing in the file LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+** SPDX-License-Identifier: GPL-3.0
+**
+****************************************************************************/
+
+import QtQuick 2.8
+import QtPositioning 5.9
+import QtLocation 5.9
+import Qt.labs.platform 1.0
+import shared.utils 1.0
+
+import shared.com.pelagicore.remotesettings 1.0
+import shared.com.pelagicore.drivedata 1.0
+
+QtObject {
+ id: root
+
+ property var mapCenter: QtPositioning.coordinate(48.135771, 11.574052) // Munich
+ readonly property string defaultLightThemeId: "mapbox://styles/qtauto/cjcm1by3q12dk2sqnquu0gju9"
+ readonly property string defaultDarkThemeId: "mapbox://styles/qtauto/cjcm1czb812co2sno1ypmp1r8"
+
+ function getAvailableMapsAndLocation(mapReady, supportedMapTypes) {
+ if (mapReady) {
+ mapTypeModel.clear();
+ console.info("Supported map types:");
+ for (var i = 0; i < supportedMapTypes.length; i++) {
+ var map = supportedMapTypes[i];
+ mapTypeModel.append({"name": map.name, "data": map}) // fill the map type model
+ console.info("\t", map.name, ", description:", map.description
+ , ", style:", map.style, ", night mode:", map.night);
+ }
+ }
+ }
+
+ function getMapType(mapBoxPanelReady, name) {
+ if (!mapBoxPanelReady || !mapTypeModel.count) {
+ return
+ }
+ for (var i = 0; i < mapTypeModel.count; i++) {
+ var map = mapTypeModel.get(i);
+ if (map && map.name === name) {
+ return map.data;
+ }
+ }
+ }
+
+ function createRouteFromRaw(rawPoints) {
+ var routePath = [];
+ if (!!rawPoints) {
+ for (var i=0; i < rawPoints.length; ++i) {
+ routePath.push(QtPositioning.coordinate(rawPoints[i][0], rawPoints[i][1]));
+ }
+ }
+
+ return routePath;
+ }
+
+ // lists the various map styles (including the custom ones); filled in Map.onMapReadyChanged
+ readonly property ListModel mapTypeModel: ListModel { }
+
+ readonly property Plugin mapPlugin: Plugin {
+ preferred: ["mapboxgl", "osm"]
+ locales: Config.languageLocale
+
+ readonly property string cacheDirUrl: {
+ StandardPaths.writableLocation(StandardPaths.CacheLocation) + "/ic";
+ }
+
+ // OSM Plugin Parameters
+ PluginParameter { name: "osm.useragent"; value: "Neptune UI" }
+
+ // Mapbox Plugin Parameters
+ PluginParameter {
+ name: "mapboxgl.access_token"
+ value: "pk.eyJ1IjoicXRhdXRvIiwiYSI6ImNqY20wbDZidzBvcTQyd3J3NDlkZ21jdjUifQ"
+ +".4KYDlP7UmQEVPYffr6VuVQ"
+ }
+ PluginParameter {
+ name: "mapboxgl.mapping.additional_style_urls"
+ value: [root.defaultLightThemeId, root.defaultDarkThemeId].join(",")
+ }
+
+ // Offline maps support
+ PluginParameter {
+ name: "mapboxgl.mapping.cache.size";
+ value: "50 MiB"
+ }
+ PluginParameter {
+ name: "mapboxgl.mapping.cache.directory";
+ value: mapPlugin.cacheDirUrl.toString().substring(mapPlugin.cacheDirUrl.indexOf(':')+1)
+ }
+ }
+
+ readonly property NavigationState naviState: NavigationState {
+ id: naviState
+ onMapCenterChanged: {
+ if (naviState.mapCenter) {
+ root.mapCenter =
+ QtPositioning.coordinate(naviState.mapCenter[0], naviState.mapCenter[1]);
+ }
+ }
+ onRoutePointsChanged: root.routePoints = createRouteFromRaw(naviState.routePoints);
+ }
+
+ property var routePoints: [];
+ property bool navigationDemoActive: routePoints.length > 0;
+ property alias mapZoomLevel: naviState.mapZoomLevel;
+ property alias mapTilt: naviState.mapTilt;
+ property alias mapBearing: naviState.mapBearing;
+ property alias naviGuideDirection: naviState.nextTurn;
+ property alias nextTurnDistanceMeasuredIn: naviState.nextTurnDistanceMeasuredIn;
+ property alias nextTurnDistance: naviState.nextTurnDistance;
+}
diff --git a/src/neptune-cluster-app/apps/com.pelagicore.map-ic/stores/qmldir b/src/neptune-cluster-app/apps/com.pelagicore.map-ic/stores/qmldir
new file mode 100644
index 00000000..ff52f7a6
--- /dev/null
+++ b/src/neptune-cluster-app/apps/com.pelagicore.map-ic/stores/qmldir
@@ -0,0 +1 @@
+MapStore 1.0 MapStore.qml