Google map интеграция

Тогда подскажите пожалуйста, как правильно сформировать БП под следующие задачи:

  1. в интерфейсе пользователя создать поле для ввода населенного пункта, как реализовано у вас:

    (я не очень понимаю, как из 4 указанных блоков настроить такой подбор, и как его записать и хранить), т.е. другими словоми, дать возможность пользователю вносить собственные точки его локаций.
  2. Далее разложить данный выбор на 3 составляющие: страна, регион, город
  3. Потом передать сделаный выбор в модель по соответствующим полям.
  4. Соответственно показывать пользователю, его точки на карте, или все точки всех пользователей.
  5. Настроить поиск для пользователей по 3 составляющим: страна, регион, город