誰かがより良い答えを提供したいと思っていますが、私がやった多くの実験では、animateCameraを使ってうまくスムーズにスクロールすることができませんでした。
カメラマンは、近くにあるポイントのLat/Lngを変更するだけで、印象的な離陸と着陸を続けました。その後、ランダムに高架道路のアニメーションを作る、
private void animateTo(double lat, double lon, double zoom, double bearing, double tilt, final int milliseconds) {
if (mMapInstance==null) return;
mMapInstance.setMapType(paramMapMode);
mCurrentPosition=new LatLng(lat,lon);
// animate camera jumps too much
// so we set the camera instantly to the next point
mMapInstance.moveCamera(CameraUpdateFactory.newCameraPosition(new CameraPosition(mCurrentPosition,(float)zoom, (float)tilt, (float)bearing)));
// give Android a break so it can load tiles. If I start the animation
// without pause, no tile loading is done
mMap.postDelayed(new Runnable(){
@Override
public void run() {
// keeping numbers small you get a nice scrolling effect
mMapInstance.animateCamera(CameraUpdateFactory.scrollBy(250-(float)Math.random()*500-250, 250-(float)Math.random()*500),milliseconds,null);
}},500);
}
このルーチンは、10,000秒でミリ秒の値と呼ばれる一点に行く:私は以下のルーチンで制限された「エル安っぽい」アニメーションの成功を収めている
ジムズームトランキロを維持する方向。ピクセル値が非常に小さいので、チャンスは すべてキャッシュされています。
誰かがより良い解決策をお持ちですか?触れられた逃げをシミュレートするためにタッチイベントを注入しようとすることは妥当か可能か?
あなたはMMAPに 'postDelayedを()'を呼び出すことはできません! –