Gunmen killed a Mexican union official apparently accompanying protesting street vendors early Wednesday outside city hall in the south-central city of Cuernavaca, and a second man died and a TV cameraman and another victim were wounded, officials said.

Morelos state authorities said the attack on union official Jesus Garcia came as vendors demonstrated over their possible expulsion from the city's main plaza. The Cuernavaca mayor told the Milenio news channel of the second death but did not give the victim's identity.

Apparently, stray bullets from the attack hit two other people, including TV cameraman Rene Perez, who was covering the protest. Perez was being treated for non-life-threatening wounds at a local hospital.

Federico Mayorga, the host of the program Perez works for, said violence has gotten out of hand in Cuernavaca, a city popular with tourists because of its mild climate and exuberant vegetation.

"Things cannot go on like this," Mayorga said.

The government of Morelos state said one suspect was detained immediately after the attack, but did not say what might have motivated the shooting.

Disputes between groups of street vendors and rival unions have resulted in violence in the past, and vendors have also been subjected to extortion by criminal gangs.

The shooting did not appear to have targeted another group of journalists who were interviewing a local politician around the corner, but television footage showed them scrambling for cover as shots rang out.