Développeur

VisioMove - Utilisation de VgPoints

Navigation par flèches

Retour

VisioMove - Utilisation de VgPoints

Voici un bref aperçu de la manière dont les VgPoints peuvent être utilisés pour améliorer l'expérience de l'utilisateur dans votre application.

Introduction

Besoin de personnaliser la façon dont un nom et une icône apparaissent au-dessus du lieu où ils se trouvent ? Vous avez besoin de masquer ou d'afficher certaines icônes sur la carte à la suite d'une demande de filtre ? Eh bien, vous lisez le bon blog ! Depuis VisioDevKit v2.0.9334, c'est possible.

VgPoint

Un VgPoint est la classe de base pour le texte et les icônes rendus par le moteur VisioMove. Si vous avez accès à un VgPoint, vous pouvez modifier son apparence, notamment :

  • échelle,
  • l'orientation,
  • l'emplacement,
  • politique de taille
  • caché ou non

Pour obtenir la liste complète des possibilités, consultez la documentation de Vg3DModule::VgPoint.

Accès à un VgPoint

Pour modifier le VgPoint, il faut d'abord mettre la main dessus. Tous les VgPoints qui existent dans VisioMove sont accessibles à l'aide de la méthode VgEngine::VgIEngine::execute. Pour choisir les VgPoints que vous souhaitez, vous devez passer un objet VgEngine::VgQuery. Dans l'extrait de code ci-dessous, nous démontrons une requête qui recherche les VgSpatials dont l'ID correspond à une valeur spécifique (un VgSpaitial est une classe de base de VgPoint).

Consultez la documentation pour connaître les autres types de requêtes qui peuvent être créés.

Ajouter une icône et un nom à un lieu

L'utilisation simultanée de setPlaceIcon et de setPlaceName peut ne pas vous permettre d'obtenir le comportement souhaité. Si c'est le cas, VgPoint peut vous aider. VgPoint offre un moyen puissant de manipuler le comportement des icônes et des étiquettes.

En supposant que vous ayez déjà ajouté un nom à un lieu à l'aide de la méthode setPlaceName. Vous pouvez ensuite utiliser VgPoint pour associer une icône au lieu.

En utilisant l'extrait de code ci-dessous, nous avons déjà notre liste de VgSpatials. Nous montrons comment récupérer le VgPoint qui nous intéresse :



 
 

Après avoir exécuté le code ci-dessus, le résultat sera le suivant :

lieu.nom
Avant
nom.et.icône.du.lieu
Après

Remarque : vous pouvez réinitialiser le comportement du lieu en appelant setPlaceName ou setPlaceIcon (ce qui recrée le VgPoint associé à ce lieu).

Masquer une icône

De même, il est possible de cacher une icône dans la carte. Supposons que nous ayons une icône de toilettes et que nous souhaitions la faire disparaître.

L'extrait de code ci-dessous montre comment cela est possible :

Cela nous donne le résultat suivant

icône
Avant
icon.gone
Après

Changement d'échelle

Il est également possible de modifier l'échelle des VgPoints dans la carte. Dans l'extrait de code ci-dessous, nous interrogeons tous les Vg3DModule::VgPoint et augmentons leur échelle de deux :

avant.échelle
Avant
après.échelle
Après

Modifier la politique de dimensionnement

Par défaut, la politique de dimensionnement du texte est conçue de manière à ce que le texte s'inscrive dans le rectangle associé à chaque lieu défini dans VisioMapEditor.

Il est également possible de modifier la politique de taille afin que tous les textes et icônes aient la même taille.

Cela donne les résultats suivants.

politique.de.taille.adaptée.au.rectangle
Avant
taille.politique.taille.fixe
Après

Lorsque vous utilisez cette méthode, veillez à ne pas trop augmenter l'échelle, sinon les étiquettes risquent de se chevaucher et de devenir illisibles.

Notez que la politique de taille (eSizePolicyFitToRectangle) n'aura un effet que sur les VgPoints qui sont créés pour la première fois via les méthodes setPlaceName ou setPlaceIcon. Elle n'inclut pas les icônes statiques de la carte, par exemple les icônes de parking ou d'entrée/sortie.