IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Qt Quick Discussion :

Afficher des éléments sur une carte


Sujet :

Qt Quick

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Août 2015
    Messages : 6
    Points : 10
    Points
    10
    Par défaut Afficher des éléments sur une carte
    Bonjour,

    Je n'ai pas l'habitude d'utiliser QtQuick, je le fais un peu par obligation car je dois utiliser une carte pour mon programme.
    Je cherche à afficher des éléments dessus (des icônes), qui bougeront au fur et à mesure du temps.
    J'ai suivi le tutoriel de Qt pour afficher un cercle vert (on verra les images après), mais rien ne s'affiche... Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    import QtQuick 2.0
    import QtQuick.Window 2.0
    import QtLocation 5.6
    import QtPositioning 5.6
     
    Window {
        width: 1024
        height: 1024
        visible: true
     
        Plugin {
            id: mapPlugin
            name: "osm"
        }
     
        PositionSource {
            id: positionSource
        }
     
        Map {
            id: map
            anchors.fill: parent
            plugin: mapPlugin
            center: QtPositioning.coordinate(47.08, 2.40)
            zoomLevel: 6.5
     
            property MapCircle circle
     
            Component.onCompleted{
                circle = Qt.createQmlObject('import QtLocation 5.3; MapCircle {}', page)
                circle.center = positionSource.position.coordinate
                circle.radius = 5000.0
                circle.color = green
                circle.border.width = 10
                map.addMapItem(circle)
            }
        }
    }
    Merci beaucoup d'avance
    Cordialement

  2. #2
    Membre régulier

    Homme Profil pro
    gerant
    Inscrit en
    Mars 2011
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Algérie

    Informations professionnelles :
    Activité : gerant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2011
    Messages : 42
    Points : 88
    Points
    88
    Par défaut
    Bonsoir, je crois que tu dois utiliser un MapItemView sur lequel tu va afficher les icons soit manuellement soit a partir d'un modele.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
     
    import QtQuick 2.11
    import QtQuick.Controls 2.4
    import QtPositioning 5.8
    import QtLocation 5.9
     
    Item {
        width: 400
        height: 400
     
        ListModel {
            id: locationModel
            ListElement {lat: 36.688089; lon: 3.034564; color: "orange"; radius:600}
            ListElement {lat: 36.692111; lon: 3.028278; color: "green"; radius:400}
            ListElement {lat: 36.693239; lon: 3.029731; color: "orange"; radius:500}
            ListElement {lat: 36.693444; lon: 3.029972; color: "red"; radius:300}
            ListElement {lat: 36.693472; lon: 3.042250; color: "green"; radius:200}
            ListElement {lat: 36.691561; lon: 3.043039; color: "orange"; radius:450}
            ListElement {lat: 36.691250; lon: 3.042861; color: "red"; radius:200}
        }
     
        Plugin {
            id: mapPlugin
            name: "osm" // "mapboxgl" "osm" , "esri", ...
        }
     
     
        Map {
            anchors.fill: parent
            plugin: mapPlugin
            center: QtPositioning.coordinate(36.00000, 3.00000)
            zoomLevel: 14
     
            MapItemView {
                model: locationModel
     
                delegate: MapCircle {
                    center: QtPositioning.coordinate(lat, lon) // lat et lon depuis le modele
                    radius: model.radius
                    opacity: 0.35
                    color: model.color
                    border.color: model.color
                }
            }
     
            MapItemView {
                model: locationModel
     
                delegate: MapQuickItem {
                    coordinate: QtPositioning.coordinate(lat, lon)
                    anchorPoint: Qt.point(10,30) // les coordonnées locale de l'icon a centées sur les coordonnées géographique
     
                    sourceItem: Image {
                        source: "qrc:/images/images/marker.png"
                        height: 30
                        width: 20
                    }
                }
            }
        }
    }
    Je suis aussi débutant en Qt Quick et QML mais j'espère que ça va vous aider a trouvé une solution a votre probleme

Discussions similaires

  1. [LeafLet] Afficher des points sur une carte
    Par samy01 dans le forum Bibliothèques & Frameworks
    Réponses: 10
    Dernier message: 11/02/2019, 10h37
  2. Afficher des Stats sur une Carte de France - Javascript, PHP, SQL
    Par guillaumeIOB dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 22/02/2017, 15h24
  3. Afficher des points sur une carte
    Par atta09 dans le forum Discussions diverses
    Réponses: 0
    Dernier message: 29/07/2013, 11h59
  4. Afficher des infobulles sur une carte
    Par morgan47 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 10
    Dernier message: 02/11/2012, 15h14
  5. Réponses: 9
    Dernier message: 20/07/2012, 16h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo