Для определения местоположения пользователя, можете использовать
яндекс карты — определяют довольно точно. К тому же они могут вам понадобиться при расчете стоимости доставки
Запрос на определение положения пользователя -> редирект. Или возможность выбрать город из списка. Распределение товаров по городам - это задача чисто техническая, для менеджера