mapbox / mapbox-gl-native

Interactive, thoroughly customizable maps in native Android, iOS, macOS, Node.js, and Qt applications, powered by vector tiles and OpenGL
https://mapbox.com/mobile
Other
4.34k stars 1.33k forks source link

Does 3D terrain feature work for Qt Location Mapbox GL Plugin? #16635

Open akontsevich opened 2 years ago

akontsevich commented 2 years ago

I have created custom map style in Mapbox Studio with 3D terrain and it looks fine in the Studio:

изображение

However in QML application there is no 3D terrain, map is still flat and 2D:

изображение

The only thing we can do 3D is 3d-buildings layer, see used code below:

import QtQuick 2.15
import QtQuick.Controls 2.15
import QtLocation 5.15
import QtPositioning 5.15
import "../helper.js" as Helper

//! [top]
Map {
    id: map

    plugin: Plugin {
        name: "mapboxgl"

        PluginParameter {
            name: "mapboxgl.access_token";
            value: "pk.eyJ1IjoidGFudHJpZG8iLCJhIjoiY2tlYnB0YWo0MGFpczJzcnZubHRlNTAwbiJ9.6QG-4BeuCpUjaawDiyyfVg"
        }

        PluginParameter {
            name: "mapboxgl.mapping.additional_style_urls";
            value: "mapbox://styles/tantrido/ckyuch3ub001q16ofjwsxnlz6"
        }
    }

    MapParameter {
        type: "layer"

        property var name: "3d-buildings"
        property var source: "composite"
        property var sourceLayer: "building"
        property var layerType: "fill-extrusion"
        property var minzoom: 15.0
    }

    MapParameter {
        type: "filter"

        property var layer: "3d-buildings"
        property var filter: [ "==", "extrude", "true" ]
    }

    MapParameter {
        type: "paint"

        property var layer: "3d-buildings"
        property var fillExtrusionColor: "#55aaff"
        property var fillExtrusionOpacity: .6
        property var fillExtrusionHeight: { return { type: "identity", property: "height" } }
        property var fillExtrusionBase: { return { type: "identity", property: "min_height" } }
    }
...
}

Is it possible to add some MapParameter(s) or PluginParameter(s) to a Qt 5.15 QML application to enable 3D terrain, or this feature is not supported by Qt Location Mapbox GL Plugin like sky layer? Is some good example exists somewhere?

tmpsantos commented 2 years ago

@akontsevich this feature is not supported by the Qt plugin. To have access to the latest features such as terrain and sky, please check our Maps SDK v10 https://www.mapbox.com/blog/maps-sdk-v10

akontsevich commented 2 years ago

@akontsevich this feature is not supported by the Qt plugin. To have access to the latest features such as terrain and sky, please check our Maps SDK v10 https://www.mapbox.com/blog/maps-sdk-v10

Thanks, @tmpsantos! How to try it? Build ourselves? Where to download? Does it work with Qt/QML (it says existing applications should work)?

tmpsantos commented 2 years ago

@akontsevich currently general availability is only for Android and iOS. We don't have a public SDK that could be integrated with Qt/QML on say, Linux or Windows desktop. For automotive/embedded customers, please reach out to our sales channel.

akontsevich commented 2 years ago

@tmpsantos we contacted - no answer.

tmpsantos commented 2 years ago

@akontsevich apologies for that. Please reach out to my work email [firstname]@mapbox.com and we can better discuss the issue.