AMcoder - javascript, python, java, html, php, sql

Քարտեզներ v2 մարկերի անիմացիա՝ ներս և դուրս է գալիս

Ինչպե՞ս կարելի է մտնել և դուրս գալ GoogleMap նշիչ:

Քարտեզի վրա նշիչ եմ ավելացնում այսպես.

    marker = map.addMarker(new MarkerOptions()
            .position(point)
            .title(title)
            .snippet(text)
            .icon(BitmapDescriptorFactory.fromResource(R.drawable.marker))
    );

Պատասխանները:


1

Google Play Services 4.0+-ով դուք կարող եք օգտագործել Marker.setAlphaHandler-ի հետ համատեղ, որը մի քանի միլիվայրկյան մեկ հրապարակում է Runnable:

Կոդը նման կլինի իմ պատասխանին այստեղ Դանդաղ գցեք նշիչը էկրանի վերևից դեպի վայր Android V2 քարտեզի վրա: Պարզապես setAlphasetPosition-ի փոխարեն, և դուք տուն եք գնում:

03.11.2013

2

Շատ ավելի պարզ և մաքուր լուծում է պարզապես օգտագործել ստանդարտ ObjectAnimator-ը, որը ներդրվել է Android SDK 11-ում:

Fading in բառացիորեն միակողմանի է.

ObjectAnimator.ofFloat(marker, "alpha", 0f, 1f).setDuration(500).start();

Գունաթափման համար պահանջվում է մի քիչ ավելի շատ կոդ՝ անիմացիան ավարտվելուն պես նշիչը ճիշտ հեռացնելու համար.

Animator animator = ObjectAnimator.ofFloat(marker, "alpha", 1f, 0f);
animator.addListener(new Animator.AnimatorListener() {
    @Override
    public void onAnimationEnd(Animator animator) {
        marker.remove();
    }
    @Override public void onAnimationStart(Animator animator) {}
    @Override public void onAnimationCancel(Animator animator) {}
    @Override public void onAnimationRepeat(Animator animator) {}
});
animator.setDuration(500).start();
18.07.2017
  • Հուշում. Animator.AnimatorListener-ն օգտագործելու փոխարեն օգտագործեք AnimatorListenerAdapter-ը, որը թույլ է տալիս վերացնել միայն onAnimationEnd-ը և փրկում է 4 մեթոդ (դրանցից 3-ը դատարկ) վերացնելուց: 31.12.2018

  • 3

    օգտագործեք այս կոդը՝ ներս մտնելու և դուրս գալու համար

    map.moveCamera(CameraUpdateFactory.newLatLngZoom(position, 15));
    
                map.animateCamera(CameraUpdateFactory.zoomTo(15), 2000, null);
    
    03.11.2013
  • Շնորհակալություն, բայց ես վստահ չեմ, որ դուք հասկանում եք իմ հարցը: Ես ուզում եմ մարել նշիչում, քանի որ այն ավելացվում է քարտեզին: Սա պարզապես մեծացնում է քարտեզը հատուկ տևողությամբ 03.11.2013

  • 4

    Ահա ավելի ամբողջական լուծում, որը հատուկ է Fade In-ի համար՝ մարկեր ավելացնելիս: Ուշադրության արժանի բան է requestNumber: սա օգտակար է, եթե քարտեզը տեղափոխելիս բեռնում եք տարրեր: Պարզապես ավելացրեք այն յուրաքանչյուր ծառայության զանգի ժամանակ կամ հեռացրեք այն, եթե դրա կարիքը չունեք:

    public void fadeInMarker(Activity activity,final  GoogleMap map, final MarkerOptions markerOptions, final long duration,final int requestNumber){
    
            activity.runOnUiThread(new Runnable() {
                @Override
                public void run() {
    
                    if (currentRequestNumber != requestNumber){
                        return;
                    }
    
                    markerOptions.alpha(0);
                    final Marker marker = map.addMarker(markerOptions);
                    final AccelerateInterpolator accelartor = new AccelerateInterpolator();
    
                    final Long startTime = SystemClock.uptimeMillis();
    
                    final Handler handler = new Handler();
                    handler.post(new Runnable() {
                        @Override
                        public void run() {
    
                            float diff = SystemClock.uptimeMillis() - startTime;
                            float alpha = accelartor.getInterpolation(diff / duration);
                            if (alpha < 1) {
                                handler.postDelayed(this, 10);
                            }
                            else{
                                alpha = 1;
                            }
    
                            if (currentRequestNumber == requestNumber){
                                marker.setAlpha(alpha);
                            }
                        }
                    });
                }
            });
    
    
        }
    
    07.12.2016
    Նոր նյութեր

    Օգտագործելով Fetch Vs Axios.Js-ը՝ HTTP հարցումներ կատարելու համար
    JavaScript-ը կարող է ցանցային հարցումներ ուղարկել սերվեր և բեռնել նոր տեղեկատվություն, երբ դա անհրաժեշտ լինի: Օրինակ, մենք կարող ենք օգտագործել ցանցային հարցումը պատվեր ներկայացնելու,..

    Տիրապետել հանգստության արվեստին. մշակողի ուղեցույց՝ ճնշման տակ ծաղկելու համար
    Տիրապետել հանգստության արվեստին. մշակողի ուղեցույց՝ ճնշման տակ ծաղկելու համար Ինչպե՞ս հանգստացնել ձեր միտքը և աշխատեցնել ձեր պրոցեսորը: Ինչպես մնալ հանգիստ և զարգանալ ճնշման տակ...

    Մեքենայի ուսուցում բանկային և ֆինանսների ոլորտում
    Բարդ, խելացի անվտանգության համակարգերը և հաճախորդների սպասարկման պարզեցված ծառայությունները բիզնեսի հաջողության բանալին են: Ֆինանսական հաստատությունները, մասնավորապես, պետք է առաջ մնան կորի..

    Ես AI-ին հարցրի կյանքի իմաստը, այն ինչ ասում էր, ցնցող էր:
    Այն պահից ի վեր, երբ ես իմացա Արհեստական ​​ինտելեկտի մասին, ես հիացած էի այն բանով, թե ինչպես է այն կարողանում հասկանալ մարդկային նորմալ տեքստը, և այն կարող է առաջացնել իր սեփական արձագանքը դրա..

    Ինչպես սովորել կոդավորումը Python-ում վագրի պես:
    Սովորելու համար ծրագրավորման նոր լեզու ընտրելը բարդ է: Անկախ նրանից, թե դուք սկսնակ եք, թե առաջադեմ, դա օգնում է իմանալ, թե ինչ թեմաներ պետք է սովորել: Ծրագրավորման լեզվի հիմունքները, դրա..

    C++-ի օրական բիթ(ե) | Ամենաերկար պալինդրոմային ենթաշարը
    C++ #198-ի ամենօրյա բիթ(ե), Ընդհանուր հարցազրույցի խնդիր. Ամենաերկար պալինդրոմային ենթատող: Այսօր մենք կանդրադառնանք հարցազրույցի ընդհանուր խնդրին. Ամենաերկար palindromic substring...

    Kydavra ICAReducer՝ ձեր տվյալների ծավալայինությունը նվազեցնելու համար
    Ի՞նչ է ICAReducer-ը: ICAReducer-ն աշխատում է հետևյալ կերպ. այն նվազեցնում է նրանց միջև բարձր փոխկապակցված հատկանիշները մինչև մեկ սյունակ: Բավականին նման է PCAreducer-ին, չնայած այն..