Как дать пользователю возможность выбора местоположения на карте и сохранить координаты выбранного места в БД?
Можешь использовать библиотеку Leaflet для показа карты. На этой странице есть пример использования и ссылки на документацию и примеры: leafletjs.com
Тебе нужно обрабатывать клик по карте, получать координаты и вместе с другими данными из формы отправлять на сервер.
Да можно на любом движке реализовать - хоть на яндексе, хоть на гугле. Суть в том что значение в поле формы попадает когда пользователь тыкает по карте. Значение можно хранить как строкой так и в двух переменных типа float. Если хранить строкой будет сложнее искать в базе ближайшие значения(точки в радиусе ХХХм).