有人知道如何在谷歌地图api v2中实现这个动画的实现。 Check out this here. 我想知道这是怎么做到的。如果有人有任何关于此的示例代码,请告诉我。
提前致谢。
答案 0 :(得分:9)
我找到了一个适合我的solution:
final LatLng target = NEW_LOCATION;
final long duration = 400;
final Handler handler = new Handler();
final long start = SystemClock.uptimeMillis();
Projection proj = map.getProjection();
Point startPoint = proj.toScreenLocation(marker.getPosition());
final LatLng startLatLng = proj.fromScreenLocation(startPoint);
final Interpolator interpolator = new LinearInterpolator();
handler.post(new Runnable() {
@Override
public void run() {
long elapsed = SystemClock.uptimeMillis() - start;
if (elapsed > duration) {
elapsed = duration;
}
float t = interpolator.getInterpolation((float) elapsed / duration);
double lng = t * target.longitude + (1 - t) * startLatLng.longitude;
double lat = t * target.latitude + (1 - t) * startLatLng.latitude;
marker.setPosition(new LatLng(lat, lng));
if (t < 1.0) {
// Post again 10ms later.
handler.postDelayed(this, 10);
} else {
// animation ended
}
}
});
答案 1 :(得分:7)
欢迎您随时拨打Marker
来更改setPosition()
的位置。欢迎您随时使用CameraUpdate
或moveTo()
在{{1}上应用animateTo()
对象,随时更改“相机”的位置(即地图的中心和缩放级别) }}。将这些与光定时循环(例如,使用GoogleMap
)组合应该可以实现类似的动画效果。
答案 2 :(得分:0)
好消息是他的Google Map API v2提供了新的Camera控件。 您可以在Android开发人员团队的Youtube频道上直接查看新功能以及如何直接使用它们。{/ p>
它还提供了动画,倾斜,方位......但我认为视频非常详细,并且还讨论了类似于您示例中的应用程序。
玩得开心,并在完成应用时给我一个链接。