タッチ位置を取得するためにタッチリスナーを設定すると、コードからタッチリスナーを削除したときにズームイン/ズームアウトが機能しません。それで、どのようにGoogleマップでズームインしたりズームアウトしたりすることができますか?あなたがsetOnTouchListener
あなたsetBuiltInZoomControls(true)
が動作しません場合はAndroidのGoogleマップでズームイン/アウトが機能しない
私のコードは
mapView = (MapView) findViewById(R.id.map);
mapView.setBuiltInZoomControls(true);
mapView.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
Log.i("!!!!!","*****");
//---when user lifts his finger---
if (event.getAction() == MotionEvent.ACTION_UP) {
Projection p2 = mapView.getProjection();
GeoPoint geoPoint = p2.fromPixels((int) event.getX(), (int)event.getY());
int latitude = geoPoint.getLatitudeE6();
int longitude = geoPoint.getLongitudeE6();
String aString = Integer.toString(latitude);
String aString2 = Integer.toString(longitude);
Log.i("latitude,longitude",aString+",,"+aString2);
if((latitude < -34.538238) && (latitude > -34.672182))
{
if((longitude < -58.347702) && (longitude > -58.528976))
{
Log.i("lat,long",aString+",,"+aString2);
}
else
{
Log.i("out of region",aString+",,"+aString2);
}}
Log.i("@@@@@!!!!!","*****");
}
return true;
}
});
オンにすると、タッチリスナーが問題になりました。 @ dkBose、なぜこの答えを受け入れる? – Siddharth