Recherche d'un type d'élément à  la google map dans Ios

iMacXiMacX Membre
12:03 modifié dans Vos applications #1
Bonjour à  tous,

je suis occupé à  developer une application de mapping pour iphone.
Voici à  quoi ressemble la map.

map.png

Chaque element est un UIBezierPath et le tout est inclus dans un UIView. Lorsque je clicke sur un element, celui-ci change de couleur. Ce que je voudrais rajouter, c'est un element à  la "google map" au dessus, genre ceci:

shop_selected.png

Comment s'appelle ce type d'element? Est-ce un element propre à  l'api MKMapView ?

Merci pour votre aide

Réponses

  • AliGatorAliGator Membre, Modérateur
    12:03 modifié #2
    Ca s'appelle une CalloutView mais c'est généré par une API Privée.

    Maintenant, c'est pas compliqué à  recréer toi-même. Par exemple tu crées une sous-classe de UIView que tu appelles MyCalloutView disons, et tu customise son draw pour que ça trace la bulle avec sa petite flèche en dessous (ou plus simplement tu prévois une image pour ça, quitte à  l'étirer pour qu'elle finisse à  la bonne taille, en utilisant les leftCap et topCap pour la rendre étirable), tu rajoutes un UILabel en subview ainsi qu'un UIButton pour la petite flèche dans le rond rouge, et basta.
  • devulderdevulder Membre
    12:03 modifié #3
    dans 1308831433:

    Ca s'appelle une CalloutView mais c'est généré par une API Privée.

    Maintenant, c'est pas compliqué à  recréer toi-même. Par exemple tu crées une sous-classe de UIView que tu appelles MyCalloutView disons, et tu customise son draw pour que ça trace la bulle avec sa petite flèche en dessous (ou plus simplement tu prévois une image pour ça, quitte à  l'étirer pour qu'elle finisse à  la bonne taille, en utilisant les leftCap et topCap pour la rendre étirable), tu rajoutes un UILabel en subview ainsi qu'un UIButton pour la petite flèche dans le rond rouge, et basta.


    Tu peut t'inspirer de la classe MattachedWindow sur OSX pour le dessin de ta view.

    voir ici
  • iMacXiMacX Membre
    12:03 modifié #4
    Merci pour votre aide!

    J'ai trouvé ceci (http://www.eidac.de/?p=183), je crois que c'est exactement ce qu'il me faut  :)
  • iMacXiMacX Membre
    12:03 modifié #5
    Petit update de la situation. J'ai réussi à  intégrer le CallOutView lorsque je clicke sur une des shapes.
    Mais j'ai été confronté au problème suivant. J'ai ajouté à  ma vue plusieurs TapRecognizer qui rentrait en conflit avec l'action sur le UiButton du callout.

    Grace à  ce post, j'ai réussi à  rendre le bouton actif :

    http://stackoverflow.com/questions/3344341/uibutton-inside-a-view-that-has-a-uitapgesturerecognizer

    Voila, si ca peut aider :)

  • Je voulais juste savoir si tu as pas été confronté a un problème de clique sur le bouton lorsque le label est trop long mais s'affiche bien? Car moi de temps en temps le clic sur le bouton fonctionne pas grrrr.
  • Effectivement, j'ai du modifier la classe pour palier au problème. Voici ma classe mais je ne me souviens pas des modifications que j'ai faites.
Connectez-vous ou Inscrivez-vous pour répondre.