Revision control

++ // Copyright (C) 2023 The Qt Company Ltd.
++ // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
++
++ import QtQuick 2.15
++ import QtLocation 5.15
++ import QtPositioning 5.15
++
++ Map {
++ width: 1024
++ height: 1024
++
++ property double lonPos: 30
++ center: QtPositioning.coordinate(0, lonPos)
++
++ NumberAnimation on lonPos
++ {
++ loops: Animation.Infinite
++ from: -180
++ to: 180
++ duration: 30000
++ }
++
++ id: map
++ plugin: Plugin {
++ name: "osm"
++ }
++ zoomLevel: 1
++ copyrightsVisible: false
++
++ Repeater {
++ id: rectangles
++ property var colors: [
++ "red",
++ "orange",
++ "yellow",
++ "green",
++ "blue",
++ "violet"
++ ]
++ property int gridSize: rectangles.colors.length*4
++ model: gridSize*gridSize
++ MapRectangle
++ {
++ property double center_longitude: -180+360*(index%rectangles.gridSize+0.5)/(rectangles.gridSize)
++ property double center_latitude: -90+180*(Math.floor(index/rectangles.gridSize)+0.5)/(rectangles.gridSize)
++ property double a: 1
++
++ topLeft
++ {
++ longitude: Math.min(180, Math.max(-180, center_longitude - a/2))
++ latitude: Math.min(90, Math.max(-90, center_latitude - a/2))
++ }
++ bottomRight
++ {
++ longitude: Math.min(180, Math.max(-180, center_longitude + a/2))
++ latitude: Math.min(90, Math.max(-90, center_latitude + a/2))
++ }
++ color: rectangles.colors[Math.floor(index%rectangles.colors.length)]
++ border.width: 2
++ autoFadeIn: false
++ opacity: 0.1
++ NumberAnimation on a
++ {
++ loops: Animation.Infinite
++ from: 1
++ to: 80
++ duration: 10000
++ }
++ }
++ }
++
++ Keys.onPressed: (event)=> {
++ Qt.quit()
++ }
++ }