Snowpoint City.
In Diamond, Pearl and Platinum 7th gym is in Snowpoint Town.
Beat the gym leader
Veilstone City
The mine badge.
By beating the gym leader
the fourth gym is in celadon city at the bottom left of the city. the gym leader is erika. the badge is called the rainbow badge
== == You get the 8th gym badge in Sunyshore City. Hope this helps
i don't know sorry i only have Pokemon pearl It's to the east of the town where you got your 7th gym badge.
Go to hearthome city and beat the gym.
After you get the Cobble badge from the Veilstone gym.
umm...you beat the 7th gym
snowpoint city