Display items according to City/location

Need to display items according to the city (which will be selected by user or auto-detected from IP address). One way was to create multiple item variants according to City attribute in order to have separate price list-city and website warehouse such that item display on website could be controlled accordingly. If anyone has or can achieve this, pl reply.