Maps Explorer is an Android application built with Kotlin that lets users explore, add, and manage locations using Google Maps. The app includes a map view with markers, a list view of added locations, and a settings screen with dark mode support.
- Google Maps Integration: Displays interactive map with default and user-added location markers.
- Add Locations: Search for locations using Google Places Autocomplete and add them to the map and list.
- List View: Scrollable list of added locations shown in a CardView layout.
- Dark Mode Support: Toggle between light and dark themes via the Settings screen.
- Bottom Navigation: Seamless switching between Map, List, and Settings screens.
- Toolbar: Displays app title and menu, including a link to the Settings screen.
- Language: Kotlin
- Platform: Android
- APIs: Google Maps & Places API
- Tools: Android Studio
- Toolbar at the top for app title and menu options.
- Floating Action Button (FAB) to add new locations interactively.
- RecyclerView / CardView for an elegant scrollable list of locations.
- Bottom Navigation View for smooth navigation across main sections.
- Google Maps Fragment to embed interactive maps with markers.
app/
├── src/main/java/.../activities/
│ ├── MainActivity.kt
│ └── (other entry points)
│
├── src/main/java/.../fragments/
│ ├── MapFragment.kt
│ ├── ListFragment.kt
│ └── SettingsFragment.kt
│
├── src/main/java/.../adapters/
│ └── LocationAdapter.kt
│
├── res/layout/
│ ├── activity_main.xml
│ ├── fragment_map.xml
│ ├── fragment_list.xml
│ └── list_item_location.xml
│
├── res/values/
│ ├── colors.xml
│ ├── themes.xml
│ └── strings.xml
│
└── res/drawable/
└── UI assets and icons
- Google Places Autocomplete was used for intuitive location search and address-to-coordinate conversion, improving UX over manual input.
- Theme colors were customized to match the desired baby blue and dark blue palettes, requiring careful color resource management and night mode support.
- Managing state and dynamic UI updates when locations are added, ensuring markers appear both on the map and in the list without data inconsistency.
- Handling the Floating Action Button’s positioning to avoid obstructing map controls such as zoom buttons.
- Ensuring toolbar titles and menu options update contextually when navigating between fragments.
- Implementing persistent dark mode setting with SharedPreferences, applied at app launch and dynamically during runtime.
- Clone this repository:
git clone https://github.com/chazdj/MapsExplorer.git- Open in Android Studio.
- Obtain a Google Maps API key and add it to
local.propertiesorstrings.xmlasgoogle_maps_key. - Build and run the app on an Android device or emulator with Google Play Services.
- Use the FAB to search for and add locations.
- Toggle dark mode in the Settings tab.
- Add ability to edit or delete locations.
- Save location data persistently (e.g., local database or cloud).
- Provide routing between markers.
- Add user authentication for personalized experience.
- Integrating Google Maps and Places APIs into an Android project.
- Building UI with Fragments, Bottom Navigation, and CardViews.
- Implementing theme switching and persistent settings.
- Managing map markers and location data in the app.
Developed by Chastidy Joanem
GitHub: chazdj