4

J'essaie de dessiner une forme personnalisée dans la méthode Draw de ItemizedOverlay. Est-il possible d'obtenir l'événement onTap pour la forme dessinée. Actuellement onTap fonctionne pour le drawable/marker par défaut. Comment le faire fonctionner pour la forme dessinée dans la méthode Draw?Android MapView ItemizedOverlay Dessiner onTap

Répondre

0

Il semble que vous pouvez remplacer par la méthode la plus appropriée de la superposition détaillée.

Remplacez la méthode par un test pour voir si vous avez frappé votre forme. Veuillez poster votre solution ici pour les autres après.

Voici la version android originale

protected boolean hitTest(OverlayItem item, Drawable marker, int hitX, int hitY) { 
      Point eventPos = new Point(hitX, hitY); 
      Point itemHitPosOnDisplay = calculateItemPostionRelativeToDisplay(item.getPoint()); 
      Point distance = Point.substract(eventPos, itemHitPosOnDisplay); 
      if (marker == null) { 
        marker = this.defaultMarker; 
      } 
      if (Math.abs(distance.x) < marker.getIntrinsicWidth()/2 
          && Math.abs(distance.y) < marker.getIntrinsicHeight()/2) { 
        return true; 
      } 
      return false; 
    } 

Cordialement, Stéphane

+0

Oui cela fonctionne pour le marqueur par défaut, mais pas pour le dessin sur toile. – user626035

+0

permettez-moi de le reformuler, puis-je faire le dessin de toile comme marqueur par défaut? – user626035

+0

Je ne sais pas si vous avez compris ce que j'ai proposé. Mais avez-vous * outrepassé * la méthode que j'ai mentionnée? Qu'avez-vous essayé? – Snicolas

Questions connexes