summaryrefslogtreecommitdiff
path: root/examples/location/geojson_viewer/mapitems
diff options
context:
space:
mode:
Diffstat (limited to 'examples/location/geojson_viewer/mapitems')
-rw-r--r--examples/location/geojson_viewer/mapitems/CircleItem.qml30
-rw-r--r--examples/location/geojson_viewer/mapitems/PolygonItem.qml34
-rw-r--r--examples/location/geojson_viewer/mapitems/PolylineItem.qml32
-rw-r--r--examples/location/geojson_viewer/mapitems/RectangleItem.qml28
4 files changed, 124 insertions, 0 deletions
diff --git a/examples/location/geojson_viewer/mapitems/CircleItem.qml b/examples/location/geojson_viewer/mapitems/CircleItem.qml
new file mode 100644
index 00000000..08709357
--- /dev/null
+++ b/examples/location/geojson_viewer/mapitems/CircleItem.qml
@@ -0,0 +1,30 @@
+// Copyright (C) 2017 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
+import QtQuick
+import QtLocation
+
+MapCircle {
+ color: "#da5546"
+ border.color: "#330a0a"
+ border.width: 2
+ smooth: true
+ opacity: 0.75
+ autoFadeIn: false
+
+ property string geojsonType: "Point"
+
+ function setGeometry(anchorCoordinate) {
+ center = anchorCoordinate
+ }
+
+ function addGeometry(newCoordinate, changeLast){
+ radius = center.distanceTo(newCoordinate)
+ return true
+ }
+
+ function finishAddGeometry(){
+ color = "#46a2da"
+ border.color = "#190a33"
+ opacity = 0.25
+ }
+}
diff --git a/examples/location/geojson_viewer/mapitems/PolygonItem.qml b/examples/location/geojson_viewer/mapitems/PolygonItem.qml
new file mode 100644
index 00000000..b17c4c84
--- /dev/null
+++ b/examples/location/geojson_viewer/mapitems/PolygonItem.qml
@@ -0,0 +1,34 @@
+// Copyright (C) 2017 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
+import QtQuick
+import QtLocation
+
+MapPolygon {
+ color: "#da5546"
+ border.color: "#330a0a"
+ border.width: 2
+ smooth: true
+ opacity: 0.75
+ autoFadeIn: false
+
+ property string geojsonType: "Polygon"
+
+ function setGeometry(anchorCoordinate){
+ addCoordinate(anchorCoordinate)
+ }
+
+ function addGeometry(newCoordinate, changeLast){
+ if (changeLast && path.length > 0)
+ removeCoordinate(path[path.length-1])
+ addCoordinate(newCoordinate)
+ return false
+ }
+
+ function finishAddGeometry(){
+ if (path.length > 0)
+ removeCoordinate(path[path.length-1])
+ color = "#46a2da"
+ border.color = "#190a33"
+ opacity = 0.25
+ }
+}
diff --git a/examples/location/geojson_viewer/mapitems/PolylineItem.qml b/examples/location/geojson_viewer/mapitems/PolylineItem.qml
new file mode 100644
index 00000000..f2922d26
--- /dev/null
+++ b/examples/location/geojson_viewer/mapitems/PolylineItem.qml
@@ -0,0 +1,32 @@
+// Copyright (C) 2017 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
+import QtQuick
+import QtLocation
+
+MapPolyline {
+ line.color: "#330a0a"
+ line.width: 4
+ opacity: 0.75
+ smooth: true
+ autoFadeIn: false
+
+ property string geojsonType: "Polyline"
+
+ function setGeometry(anchorCoordinate){
+ addCoordinate(anchorCoordinate)
+ }
+
+ function addGeometry(newCoordinate, changeLast){
+ if (changeLast)
+ replaceCoordinate(pathLength()-1, newCoordinate)
+ else
+ addCoordinate(newCoordinate)
+ return false
+ }
+
+ function finishAddGeometry(){
+ removeCoordinate(pathLength()-1)
+ line.color = "#46a2da"
+ opacity = 0.5
+ }
+}
diff --git a/examples/location/geojson_viewer/mapitems/RectangleItem.qml b/examples/location/geojson_viewer/mapitems/RectangleItem.qml
new file mode 100644
index 00000000..51b6d538
--- /dev/null
+++ b/examples/location/geojson_viewer/mapitems/RectangleItem.qml
@@ -0,0 +1,28 @@
+// Copyright (C) 2017 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
+import QtQuick
+import QtLocation
+
+MapRectangle {
+ color: "#da5546"
+ border.color: "#330a0a"
+ border.width: 2
+ smooth: true
+ opacity: 0.75
+ autoFadeIn: false
+
+ function setGeometry(anchorCoordinate) {
+ topLeft = anchorCoordinate
+ }
+
+ function addGeometry(newCoordinate, changeLast){
+ bottomRight = newCoordinate
+ return true //finished
+ }
+
+ function finishAddGeometry(){
+ color = "#46a2da"
+ border.color = "#190a33"
+ opacity = 0.25
+ }
+}