当我移动时,我正试图在街道上设置汽车标记的动画。但标记是多次绘制而不是在街道上移动。我尝试了多个代码,包括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);
}
}
}
});
}
答案 0 :(得分:0)
marker.setPosition(directionPoint.get(I));
删除标记,然后调用它
答案 1 :(得分:0)
在设置标记清除地图并重置标记之前为你工作
if (mMap != null) {
mMap.clear();
}