我正在使用 android maps v2works 正常我可以在位置上长按添加和删除标记。
问题: 我想将标记慢慢放入触摸位置,即我希望用户看到标记从屏幕顶部 float 到它被放置的位置(触摸位置)。
目前;标记只是出现在触摸的位置,因此您必须抬起手指才能看到它已被放下。很高兴看到它来自屏幕顶部。
谢谢。
最佳答案
您可以使用类似于此(未经测试)的代码实现此目的:
final LatLng target = ...;
final long duration = 400;
final Handler handler = new Handler();
final long start = SystemClock.uptimeMillis();
Projection proj = map.getProjection();
Point startPoint = proj.toScreenLocation(target);
startPoint.y = 0;
final LatLng startLatLng = proj.fromScreenLocation(startPoint);
final Interpolator interpolator = new LinearInterpolator();
handler.post(new Runnable() {
@Override
public void run() {
long elapsed = SystemClock.uptimeMillis() - start;
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
}
}
});
关于android - 将标记从屏幕顶部缓慢放置到 android map V2 上的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16604206/