2013-06-24 11 views
9

की मदद से खोज त्रिज्या को विज़ुअलाइज़ करना मैं इस छवि पर दिखाई देने वाले सर्कल के समान Google मानचित्र दृश्य में एनिमेटेड सर्कल जोड़ना चाहता हूं।Google मैप्स एंड्रॉइड एपीआई v2: ValueAnimator

enter image description here

चक्र सबसे बड़ा त्रिज्या वर्तमान उपयोगकर्ता के स्थान और खोज के क्षेत्र का संकेत करने के लिए केंद्र से pulsing किया जाना चाहिए।

यहाँ प्रासंगिक कोड ब्लॉक

Circle circle = mMap.addCircle(new CircleOptions() 
    .center(new LatLng(lat, lon)) 
    .strokeColor(Color.CYAN).radius(1000)); 
    valueAnimator = new ValueAnimator(); 
    valueAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() { 
     @Override 
     public void onAnimationUpdate(ValueAnimator valueAnimator) { 
     float animatedFraction = valueAnimator.getAnimatedFraction(); 
     circle.setRadius(animatedFraction * 1000); 
     circle.setStrokeWidth(1 + animatedFraction * 7); 
     } 
     }); 

इस कोड को मैं केवल किसी भी एनीमेशन के बिना स्थिर चक्र स्ट्रोक को देखने के लिए कर रहा हूँ के साथ है।

किसी भी मदद की सराहना की जाएगी। अग्रिम धन्यवाद।

उत्तर

28

आप :)

final Circle circle = MAP.addCircle(new CircleOptions().center(EGYPT) 
      .strokeColor(Color.CYAN).radius(100)); 

    ValueAnimator vAnimator = new ValueAnimator(); 
    vAnimator.setRepeatCount(ValueAnimator.INFINITE); 
    vAnimator.setRepeatMode(ValueAnimator.RESTART); /* PULSE */ 
    vAnimator.setIntValues(0, 100); 
    vAnimator.setDuration(1000); 
    vAnimator.setEvaluator(new IntEvaluator()); 
    vAnimator.setInterpolator(new AccelerateDecelerateInterpolator()); 
    vAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() { 
     @Override 
     public void onAnimationUpdate(ValueAnimator valueAnimator) { 
      float animatedFraction = valueAnimator.getAnimatedFraction(); 
      // Log.e("", "" + animatedFraction); 
      circle.setRadius(animatedFraction * 100); 
     } 
    }); 
    vAnimator.start(); 
+1

, बस काम करता है :) धन्यवाद! – Juniper

+0

एनीमेशन तब तक काम करता है जब तक मार्कर दिखाए जाएंगे। जब मार्कर दिखाए जाते हैं एनीमेशन गायब हो जाता है। इससे कोई फर्क नहीं पड़ता कि मैं कहां हूं 'vAnimator.start();' अब यह कल्पना नहीं की जा रही है, लेकिन साथ ही मैं लॉगकैट में देख सकता हूं कि यह प्रसंस्करण कर रहा है। क्या आपके पास कोई धारणा है कि एनीमेशन मार्करों के साथ क्यों नहीं देखा जाता है? – Juniper

+1

मेरे सर्कल में एक भरने का रंग है, लेकिन यह एनिमेटेड होने पर यह गायब हो जाता है। मुझे क्या करना चाहिए? – DixieFlatline

संबंधित मुद्दे