Google マップ API v2 を使用しています。マップのロング クリックにマーカーを配置します。マップの左側に設定した Android の「ic_delete」ドローアブル境界にドラッグしたときにマーカーを削除したいと思います (ランチャーでアプリを削除するときに行われるように)。ヘルプ !
ここに私のコードがあります:
map = ((MapFragment) getFragmentManager().findFragmentById(R.id.map)).getMap();
markers = new ArrayList<Marker>();
boolean mReturn = false;
if (map != null) {
map.setMapType(GoogleMap.MAP_TYPE_HYBRID);
mapSettings = map.getUiSettings();
mapSettings.setCompassEnabled(true);
mapSettings.setRotateGesturesEnabled(true);
mapSettings.setZoomControlsEnabled(true);
map.setMyLocationEnabled(true);
map.setOnMapLongClickListener(this);
map.setOnMarkerDragListener(this);
mReturn = true;
}
@Override
public void onMapLongClick(LatLng position) {
// TODO Auto-generated method stub
final LatLng point = position;
Marker marker = map.addMarker(createMarkerOptions("test", "snippet", point, true));
markers.add(marker);
// ...
}
@Override
public void onMarkerDrag(Marker marker) {
// TODO Auto-generated method stub
}
@Override
public void onMarkerDragEnd(Marker marker) {
// TODO Auto-generated method stub
ImageView deleteMarker = (ImageView) findViewById(R.id.deleteMarker);
deleteMarker.setVisibility(View.GONE);
// I want to delete that "marker" if dragged over the "deleteMarker" imageview
}
@Override
public void onMarkerDragStart(Marker marker) {
// TODO Auto-generated method stub
findViewById(R.id.deleteMarker).setVisibility(View.VISIBLE);
}