Dans ma carte, je suis en train de capturer le zoom avant/arrière à l'aide ScaleGestureDetector
mais je suis jamais recevoir des callbacks à l'une des onScale
ou onScaleBegin
ou onScaleEnd
.Google Maps deux callbacks pincée/étirement doigt
Dans mon Fragment onCreateView
, j'initialiser:
scaleGestureDetector = new ScaleGestureDetector(getContext(), new simpleOnScaleGestureListener());
Et je mets en œuvre les callbacks comme ceci:
public class simpleOnScaleGestureListener extends
SimpleOnScaleGestureListener {
@Override
public boolean onScale(ScaleGestureDetector detector) {
// TODO Auto-generated method stub
startScale = detector.getScaleFactor();
Log.d(TAG, "::onScale:: " + detector.getScaleFactor());
return true;
}
@Override
public boolean onScaleBegin(ScaleGestureDetector detector) {
// TODO Auto-generated method stub
Log.d(TAG, "::onScaleBegin:: " + detector.getScaleFactor());
return true;
}
@Override
public void onScaleEnd(ScaleGestureDetector detector) {
// TODO Auto-generated method stub
Log.d(TAG, "::onScaleEnd:: " + detector.getScaleFactor());
endScale = detector.getScaleFactor();
}
Aussi, est-il juste de supposer que les callbacks seront appelés en continu chaque fois que l'utilisateur effectue un zoom avant/arrière?