マップに透明なグリッドを重ねて行うことができます。グリッドは「タッチセンシティブ」タイルで構成されています。タイルの寸法は、マップのすべての領域を埋めるのに十分小さい必要があります。すべてのリージョンには、特定の数のタイルが含まれます。タイルのすべてのグループを包含領域に関連付ける必要があります。次に、タイルをタップするたびに、正しい領域を関連付けることができます。
編集:タイル定義の例
public class MapView extends ViewGroup {
// Tile definition
//
static enum Tile {
T_00 (30, Region.region_a), T_01 (31, Region.region_a)
, ...
, T_328 (288, Region.region_h);
private final int id;
private final Rg region;
Tile ( int id, Rg region ) {
this.id = id;
this.region = region;
}
public int getId() { return id; }
public Rg getRg() { return region; }
}
// Implementation of MapView Class
...
ps .:私の回答で説明されている実装は、可能な実装の1つにすぎません。必要に応じて、独自の実装を作成できます。