私のMapViewには、addView()によってLayoutParamsを使用して追加された子ビューが含まれています。
new MapView.LayoutParams(MapView.LayoutParams.WRAP_CONTENT, MapView.LayoutParams.WRAP_CONTENT, geoPoint, 0, 0, MapView.LayoutParams.BOTTOM | MapView.LayoutParams.LEFT)
私は自分の視点のスクリーンポイントを得ることができます:
Point p1 = mapView.getProjection().toPixels(geoPoint, null);
geoPointが変更されたら、mapViewのすべての子を削除してから、新しいLayoutParams(新しいgeoPointに基づく)を使用してビューを追加し、画面ポイントで新しいものを取得します。
Point p2 = mapView.getProjection().toPixels(newGeoPoint, null);
次に、ビューをp1からp2に変換する必要があります。次のことを試してください。
Animation animation = new TranslateAnimation(
Animation.ABSOLUTE, p1.x,
Animation.ABSOLUTE, p2.x,
Animation.ABSOLUTE, p1.y,
Animation.ABSOLUTE, p2.y);
animation.setDuration(1500);
myView.startAnimation(animation);
アニメーションは再生されますが、間違ったポイントから間違ったポイントへ。
アニメーションをp1からp2に正しく変換するにはどうすればよいですか。