私はアクティビティでMapViewを持っていて、地図が表示され、タップに反応し、場所を簡単に抽出できます。しかし、このハンドラはピンチズームにも対応しているので、ユーザがピンチズームしようとすると、アプリはタップしたように応答します(それは非常に混乱します)。Android MapViewのタップにはどのように反応しますが、ピンチズームは無視しますか?
MapViewのタップに応答して、シングルタップのみをピックアップする、ピンチズームとダブルタップを特に無視するにはどうすればよいですか?
OnTap()の代わりにOnTouchEvent()を使用する必要がありますか?もしそうなら、私はどのようにして異なるタッチイベントを区別し、ジオポイントにアクセスするのですか?
は、ここに私のMapActivity内部からのコードです:
class MapOverlay extends com.google.android.maps.Overlay
{
@Override
public boolean onTap(GeoPoint p, MapView map)
{
if (p!=null)
{
// Do stuff with the geopoint
return true; // We handled the tap
}
else
{
return false; // We didn't handle the tap
}
}
}
オーバーレイ項目は同様に、(マップ上の任意の場所ではなく)タップ、まだピンチを無視するのMapView上のタッチリスナーを設定しているときにのみ応答するように設計されてONTAPを、使用し続けることができるかもしれませんこれは:http://stackoverflow.com/questions/4626028/how-to-disable-pinch-in-android-mapview –
興味深いことに、地図をドラッグしても問題ありません。そのため、ドラッグはタップでは発生しませんが、タップは(期待通り)だけでなく、ピンチ&ズームも行います。私が期待していたことではありません。 –
私はピンチ&ズームを無効にしたくない、私はそれが働きたい、私はちょうど私のアプリにもonTapをピックアップしたい。 –