Happiness is generally the key to how fast and how large you should expand. Almost every other statistic in the game is positively improved by more cities besides happiness. In most of the "average" difficulty settings I will tend to only place a new city where I can get a luxury resource I don't already have. I might consider a duplicate luxury resource, but only if I am certain I can trade it to a friendly civ rapidly after creating the city.
On a far below average difficulty, spam cities. Far above average, you've got to be very careful when expanding - the location should be very good and you should be prepared to build out quickly to keep your happiness in balance.
Don't neglect the other special (non-luxury) tiles - they can make a big difference if you can properly stack them to exploit buildings.
To demonstrate my strategy, here's a suggestion for your current situation, assuming average difficulty and no other modifiers (ie, Gandhi, certain wonders/policies, war, etc):
I'd suggest one city to the east of the gems. There's a lot of fish here in the water tiles, so I'd probably be tempted to place the city two tiles east of the gems. From this position, you get sheep, cows, horse, gems, and 2 fish resources. If you don't need the horses, you might consider the tile northeast of the sheep - this gives you river access for things like water wheel and hydroelectric power. This would be a good city for a stable.
For the second city, I'd suggest southwest of the marble. From here, you get marble, wheat, 1 of the 2 nearby stone, and 4 fish. That's probably about the best you can do resource-wise. The lighthouse will be super powerful in this city, and you won't go wrong with a stone works.