マップがズームされるたびに「ZOOMED」をログに記録する、次のカスタマイズされた MapView があります。
import android.content.Context;
import android.graphics.Canvas;
import android.util.AttributeSet;
import android.util.Log;
import com.google.android.maps.MapView;
public class CustomMapView extends MapView{
int oldZoomLevel=0;
public CustomMapView(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
protected void dispatchDraw(Canvas canvas) {
super.dispatchDraw(canvas);
if (getZoomLevel() != oldZoomLevel) {
Log.i("EOH", "ZOOOMED");
oldZoomLevel = getZoomLevel();
}
}
}
これは私の onCreate(...) アクティビティからのスニペットです:
...
mapView = (CustomMapView) findViewById(R.id.map);
mapView.setBuiltInZoomControls(true);
mapOverlays = mapView.getOverlays();
...
アクティビティに「ZOOMED」というメッセージを表示するにはどうすればよいですか?! ユーザーがズームしたら、マップのアイコンの位置を更新したい...
BroadcastReceiversを調べてみましたが、これが正しい方法かどうかわかりませんか?
よろしくお願いします。