1

アプリケーションに がありMapViewます。onClick希望どおりに動作するようになりましたが、のすべてまたは同等のイベントを処理しMapViewて、Google マップ アプリケーションを開きたいと考えています。

Google マップ アプリケーションを開くことができると読みましたが、次のIntentように発生します。

String uri = "geo:"+ latitude + "," + longitude;
startActivity(new Intent(android.content.Intent.ACTION_VIEW, Uri.parse(uri)));

私の前述のイベントをトラップするにはどうすればよいMapViewですか? 私はこれを理解することができませんでした。ありがとう。

4

2 に答える 2

1

com.google.android.maps.Overlayアクティビティで拡張するクラスがあり、このクラスのonTouchEvent()メソッドを使用する必要があります。このような:

class MyOverlay extends Overlay {

    @Override
    public boolean onTouchEvent(MotionEvent e, MapView mapView) {
         ....
    }
    ....
}
于 2012-09-26T10:39:29.280 に答える
0

私は次のonTapようにイベントを使用しました:

public boolean onTap(GeoPoint gptLocation, MapView mapMap) {

    String strCoordinates = String.format("%f,%f", gptCoordinates.getLatitudeE6() / 1E6, gptCoordinates.getLongitudeE6() / 1E6);
    String strUri = String.format("geo:%s?z=14", strCoordinates);
    Intent ittMap = new Intent(android.content.Intent.ACTION_VIEW, Uri.parse(strUri));
    ittMap.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    this.ctxContext.startActivity(ittMap);
    return false;

}
于 2012-11-05T13:57:22.597 に答える