在地图上为Android标记脉冲动画

时间:2016-04-06 16:55:19

标签: android google-maps google-maps-markers

我正在研究Android项目并尝试为这样的标记实现脉冲效果: https://github.com/TransitApp/SVPulsingAnnotationView

但是我遇到了谷歌地图不支持标记动画的问题。

有什么想法可以在Android上实现吗? 也许我应该使用另一个地图库?

1 个答案:

答案 0 :(得分:0)

我用这个,有些闪烁,但没有更好的找不到

Bitmap markerIcon=drawableToBitmap(ResourcesCompat.getDrawable(getResources(), R.drawable.ic_lens_black_24dp, null));
                pulseMarker(markerIcon, 2000);


...


    void pulseMarker(final Bitmap markerIcon, final long onePulseDuration) {
        final Handler handler = new Handler();
        final long startTime = System.currentTimeMillis();
        final Interpolator interpolator = new CycleInterpolator(1f);
        handler.post(new Runnable() {
            @Override
            public void run() {
                if (jumpingMarker!=null /*&& jumpingMarker.isVisible()*/) {
                    long elapsed = System.currentTimeMillis() - startTime;
                    float t = interpolator.getInterpolation((float) elapsed / (float)onePulseDuration);
                    jumpingMarker.setIcon(BitmapDescriptorFactory.fromBitmap(scaleBitmap(markerIcon, 1.0f + 0.75f * t)));
                    handler.postDelayed(this, 100);
                }
            }
        });
    }