Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Place Picker For Selecting Event Location #823

Closed
leoshrey opened this issue May 21, 2021 · 5 comments
Closed

Place Picker For Selecting Event Location #823

leoshrey opened this issue May 21, 2021 · 5 comments
Labels
unapproved Unapproved, needs to be triaged

Comments

@leoshrey
Copy link
Contributor

leoshrey commented May 21, 2021

Is your feature request related to a problem? Please describe.

Currently, while entering the event location on Add Event page, user have to type complete location in the field with no autocomplete feature. Due to which following problems are faced:

  • User can either type the wrong location or the incomplete one.
  • User cannot remember the exact location but he may remember the Landmark of that particular area.
  • User may want to pinpoint a location using map.
  • User may want to get the distance from his location to where the event is being organised.
  • Event Attendees may not understand and can reach the wrong location.

Typing complete location consumes time of the user and leads to imperfect user experience.

Describe the solution you'd like

Whenever user taps on the location field, a new place picker screen should arrive, having:

  • A Search Bar with autocomplete suggestions feature.
  • A Map should be displayed having real time pinpointing.
  • Nearby Places list.
  • Select location button for returning the selected location back to the Location field on Add Event page.
  • A button redirecting to google maps application.
    This will improve the experience by speeding up the process and will give an appealing interface.

Screenshots

Case A: User is selecting the location by just searching a word "hawa" instead of writing complete location as "Hawa Mahal Rd, Badi Choupad, J.D.A. Market, Pink City, Jaipur, Rajasthan 302002"

Screenrecorder-2021-05-21-16-43-36-475.1.mp4

Case B: User doesn’t remember the exact location, but he is known to a nearby location "Raj Mandir".
In this case he is using a map picker for pinpointing the exact location, which earlier was not known to him.

talawa.1.mp4

This is a demo of this feature I have implemented locally.

Approach to be followed
For achieving this I will be using Flutter Place Picker library.
I'll have to specify the dependencies, for using this library in both Android(build.gradle) as well as iOS(AppDelegate), with API keys.
For implementation, I'll be writing the code inside add_event_page.dart by using onTap callback on the inputField widget.

Additional Information
For implementation, enabling of Places API, Maps SDK for Android, Maps SDK for iOS and Geocoding API is needed for the generated API key on Google Cloud Platform.
Please let me know, if this is feasible.
And if yes, can I get the key for development purpose or may be we should just use the variable without API_KEY Value for now and get an API_KEY later?

Github Externship Application ID
18-05_Shr843_tfa_262

@github-actions
Copy link

Congratulations on making your first Issue! 🎊 If you haven't already, check out our Contributing Guidelines and Issue Reporting Guidelines to ensure that you are following our guidelines for contributing and making issues.

@github-actions github-actions bot added the unapproved Unapproved, needs to be triaged label May 21, 2021
@palisadoes
Copy link
Contributor

@leoshrey The original thought was that the talawa-admin administrator would create a list of locations to choose from. The mobile app would then download those for selection. Locations would include those the organization controlled:

  1. rooms
  2. halls
  3. fields (soccer, cricket pitches etc.)

That way it would not be possible to double-book the location to create issues. It's an administrative feature.

How do you propose to include this functionality with your idea?

@leoshrey
Copy link
Contributor Author

leoshrey commented May 25, 2021

@palisadoes, what do you mean by creating list of locations by the admin?
If I am not wrong, you mean sending an API response to the mobile app containing locations list.
Then, We have to write a custom implementation with Maps flutter plugin and it can be achieved:

  • by returning the exact lat long of the place searched by the user in the API response and add a pin to the map on the returned location coordinates.
  • by extracting the data which we'll be getting from the api (of json/xml/csv format) with the location values (specifically name) that we will eventually display in the list as user types in the keyword in UI. This is for achieving the autocomplete functionality.

This will take little more time, but yes it can be achieved.

@leoshrey
Copy link
Contributor Author

leoshrey commented May 25, 2021

Till then, If you agree can we just use the above implementation without the location restrictions as of now
OR we should just continue using the current way of entering locations?

@palisadoes
Copy link
Contributor

  1. This feature is useful for meetups where people can all gather at a relatively public location. The priority needs to be to meet the needs of an organization that has rooms and other facilities that need to be reserved as a part of event planning. This helps to reduce the risk of more than one group of people booking the room, field, etc. at the same time and creating conflicts. Think of the issue from the perspective of the organization administrator. Adding geo coordinates to predefined locations and having them show up as a map in the app would be useful.
  2. When this feature is used, the talawa-admin user should add the Google keys as part of their portal for this. It should not be hard coded. How would you implement this if the key is stored in the API? What interface would there need to be in Talawa admin to get this key configured?
  3. The feature should also be optional, and enabled in talawa-admin

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
unapproved Unapproved, needs to be triaged
Projects
None yet
Development

No branches or pull requests

2 participants