/****************************************************************************
**
** Copyright (C) 2019-2023 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com
** Copyright (C) 2019-2023 General Magic B.V., info@generalmagic.com
**
** BSD License Usage
**
** 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 Klarälvdalens Datakonsult AB 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."
****************************************************************************/

//! [MapView code]
import QtQuick 2.12
import QtQuick.Window 2.12
import QtQuick.Controls 2.12
import GeneralMagic 2.0
import FpsCounter 1.0

Window {
    visible: true
    width: 640
    height: 480
    title: qsTr("SetMapStyle")

    property var updater: ServicesManager.contentUpdater(ContentItem.Type.RoadMap)
    Component.onCompleted: {
        //! [Set token safely]
        ServicesManager.settings.token = __my_secret_token;
        //! [Set token safely]

        ServicesManager.logLevel = ServicesManager.Error;
        ServicesManager.settings.allowInternetConnection = true; // enable connection to online services

        updater.autoApplyWhenReady = true;
        updater.update();
    }

    FpsCounter {
        id: fpsCounter
    }

    MapView {
        id: map
        anchors.fill: parent
        viewAngle: 25
        zoomLevel: 69
        viewPerspective: MapView.ViewPerspective.View3D
        buildingsVisibility: MapView.BuildingsVisibility.Show3D
        detailsQualityLevel: MapView.DetailsQualityLevel.Medium
        gestures: MapView.Gesture.Pan | MapView.Gesture.PanEnableVelocity | MapView.Gesture.Pinch | MapView.Gesture.Rotate | MapView.Gesture.Tilt
        Text {
            anchors.right: parent.right
            anchors.top: parent.top
            text: fpsCounter.fps
        }
    }
    Button {
        anchors.left: parent.left
        anchors.top: parent.top
        text: "Apply map style"
        onClicked: {
            map.stylePath = "qrc:/mapstyles/Basic_1_Night_Blues-1_12_685.style";
            //map.stylePath = "qrc:/mapstyles/Basic_1_Night_Blues_with_Elevation-1_5_687.style";
            //map.stylePath = "qrc:/mapstyles/Basic_1_Oldtime-1_13_656.style";
            //map.stylePath = "qrc:/Basic_1_Oldtime_with_Elevation-1_12_657.style";
            //map.stylePath = "qrc:/Basic_2_Azure-1_21_319.style";
            //map.stylePath = "qrc:/Basic_2_Mono_Cherry-1_21_324.style";
        }
    }
}
//! [MapView code]
