标记绘制多次而不是Map V2上的动画

时间:2016-02-16 05:23:52

标签: android android-animation google-maps-markers google-maps-android-api-2

当我移动时,我正试图在街道上设置汽车标记的动画。但标记是多次绘制而不是在街道上移动。我尝试了多个代码,包括this,但每次都有相同的结果。有人能指出我有什么问题吗?

这是另一个对我不起作用的人。

public void animateMarker(GoogleMap myMap, final Marker marker, final ArrayList<LatLng> directionPoint) {
        final Handler handler = new Handler();
        final long start = SystemClock.uptimeMillis();
        Projection proj = myMap.getProjection();
        final long duration = 30000;

        final Interpolator interpolator = new LinearInterpolator();

        handler.post(new Runnable() {
            int i = 0;

            @Override
            public void run() {
                long elapsed = SystemClock.uptimeMillis() - start;
                float t = interpolator.getInterpolation((float) elapsed
                        / duration);
                if (i < directionPoint.size())
                    marker.setPosition(directionPoint.get(i));
                i++;

                if (t < 1.0) {
                    // Post again 16ms later.
                    handler.postDelayed(this, 16);
                } else {
                    if (marker.isVisible()) {
                        marker.remove();
                    } else {
                        marker.setVisible(true);
                    }
                }
            }
        });
    }

2 个答案:

答案 0 :(得分:0)

在打电话之前

        marker.setPosition(directionPoint.get(I));

删除标记,然后调用它

答案 1 :(得分:0)

在设置标记清除地图并重置标记之前为你工作

if (mMap != null) {
    mMap.clear();
}