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 :

QML Map : afficher dans une projection cartographique


Sujet :

Qt Quick

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2015
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2015
    Messages : 2
    Points : 1
    Points
    1
    Par défaut QML Map : afficher dans une projection cartographique
    Bonjour
    Je voudrais pouvoir afficher une projection cartographique spécifique dans une Map QML.
    Cela revient si j'ai bien compris à surcharger toCoordinate() et toScreenPosition().
    Cependant je ne vois pas comment faire en QML. Si je crée des fonctions cela ne fonctionen pas :

    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
     
    Map {
    id:map
    plugin: Plugin{
    name:"osm"
    }
    height:200
    width:300
    center:QtPositioning.coordinate(-27,153)
     
    function toCoordinate(){
    // Calcul bidon ici
    return QtPositioning.coordinate(0,0)
    }
    function toScreenPosition(coordinate) {
    // Calcul bidon ici
    return QtPositioning.point(0,0)
    }
     
    MapCircle{
    radius:1000
    color:"red"
    center:QtPositioning.coordinate(-27.0, 153.0)
     
    }
    }
    Je tente de la faire en C++ en créant un composant QML, pour cela je cherche quelle est la classe C++ derrière le composant Map.
    Quelqu'un saurait-il m'aiguiller ? Suis-je parti dans la bonne direction ?

  2. #2
    Rédacteur
    Avatar de Amnell
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    1 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 840
    Points : 5 545
    Points
    5 545
    Par défaut
    Bonjour,

    Je ne comprends pas très bien ce que vous souhaitez faire. Dans votre code, vous utilisez OSM qui projette déjà ses données et possède par conséquent ses propres implémentations des méthodes dont vous parlez. Vous souhaitez ajouter une sorte d'overlay par-dessus, par exemple pour ajouter des tiles transparentes affichant un itinéraire ? Si vous souhaitez vous abstraire des calculs coordonnées lat/long vers positions à l'écran et inversement, une solution serait de passer par les Map items (http://doc.qt.io/qt-5/qml-qtlocation...MapItem-method).

    Bonne journée,
    Louis
    N'oubliez pas de consulter la FAQ Qt ainsi que les cours et tutoriels C++/Qt !

    Dernier article : Débuter avec les Enlightenment Foundation Libraries (EFL)
    Dernières traductions : Introduction à Qt Quick - Applications modernes avec Qt et QML
    Vous cherchez un livre sur Qt 5, Qt Quick et QML ? Créer des applications avec Qt 5 - Les essentiels

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2015
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2015
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Bonjour, merci pour la réponse
    Je voudrais pouvoir spécifier dans mon code QML le type de projection à utiliser.
    J'ai constaté que la projection affichée est Lat/Lon (pseudo projection).

    Sinon une question supplémentaire qui m'est venue en investigant ce sujet : comment retrouver la classe C++ du composant Map ( je suis en QT 5.4, je ne trouve pas de classe QGraphicsGeoMap) ? Ce n'est donc pas elle qui gère la transformation de coordonnées, mais le plugin?

    Merci!


    Citation Envoyé par Amnell Voir le message
    Bonjour,

    Je ne comprends pas très bien ce que vous souhaitez faire. Dans votre code, vous utilisez OSM qui projette déjà ses données et possède par conséquent ses propres implémentations des méthodes dont vous parlez. Vous souhaitez ajouter une sorte d'overlay par-dessus, par exemple pour ajouter des tiles transparentes affichant un itinéraire ? Si vous souhaitez vous abstraire des calculs coordonnées lat/long vers positions à l'écran et inversement, une solution serait de passer par les Map items (http://doc.qt.io/qt-5/qml-qtlocation...MapItem-method).

    Bonne journée,
    Louis

  4. #4
    Rédacteur
    Avatar de Amnell
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    1 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 840
    Points : 5 545
    Points
    5 545
    Par défaut
    Bonjour,

    Du côté d'OSM, les tiles sont de 256x256px, selon une projection lat/long convertie en coordonnées à l'écran par le biais d'une formule donnée sur leur site. D'un fournisseur de données à l'autre, il est possible d'avoir des tiles de taille différente. Par conséquent, j'imagine que c'est effectivement du côté de Plugin qu'il faut regarder cela, vu que cela doit permettre l'abstraction du composant Map. Par rapport à la documentation, j'ai tout l'impression que Plugin fonctionne par le biais de la classe C++ QGeoServiceProvider.

    Bonne journée,
    Louis
    N'oubliez pas de consulter la FAQ Qt ainsi que les cours et tutoriels C++/Qt !

    Dernier article : Débuter avec les Enlightenment Foundation Libraries (EFL)
    Dernières traductions : Introduction à Qt Quick - Applications modernes avec Qt et QML
    Vous cherchez un livre sur Qt 5, Qt Quick et QML ? Créer des applications avec Qt 5 - Les essentiels

Discussions similaires

  1. [MySQL] Supprimer une ligne afficher dans une base de donnée
    Par julienchpt dans le forum PHP & Base de données
    Réponses: 31
    Dernier message: 14/10/2005, 16h45
  2. colonne affichée dans une liste déroulante
    Par Tierisa dans le forum Access
    Réponses: 4
    Dernier message: 13/10/2005, 17h13
  3. afficher dans une boite de dialogue la valeur d'une variable
    Par micknic dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 10/07/2005, 10h25
  4. [c#]Gros text à afficher dans une textbox
    Par famemaur dans le forum ASP.NET
    Réponses: 3
    Dernier message: 04/05/2005, 11h12
  5. VB6] imprimer le texte afficher dans une picturebox
    Par Persons dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 27/08/2004, 12h15

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