Easy Photo Map is a photomap application that displays the location of the photo on the map using the location information included in the photo.

Overview

Easy Photo Map

Awesome Awesome Kotlin Badge License

Easy Photo Map is a photomap application that displays the location of the photo on the map using the location information included in the photo.

Screen Shot

           
     

How to build

Step1. Fork or download 'aaf-easyphotomap' project.
Step2. Import 'aaf-easyphotomap' project into android studio.
Step3. Register your package name and SHA-1 signature certificate fingerprint for Google Map use.(https://console.developers.google.com/)
Step4. Define api key to 'google_maps_api.xml' file.
       - /app/src/release/res/values/google_maps_api.xml
Step5. Build 'aaf-easyphotomap' project with android studio.

Project Tree

├─java
│  └─me
│      └─blog
│          └─korn123
│              └─easyphotomap
│                  ├─activities
│                  │      AboutActivity.kt
│                  │      AddressSearchActivity.kt
│                  │      AppPreferenceActivity.kt
│                  │      BatchPopupActivity.kt
│                  │      CameraActivity.kt
│                  │      FileExplorerActivity.kt
│                  │      IntroActivity.kt
│                  │      MapsActivity.kt
│                  │      PhotoSearchActivity.kt
│                  │      PopupImageActivity.kt
│                  │      SettingsActivity.kt
│                  │      SimpleActivity.kt
│                  │      ThumbnailExplorerActivity.kt
│                  │      TimelineActivity.kt
│                  │      
│                  ├─adapters
│                  │      AddressItemAdapter.kt
│                  │      ExplorerItemAdapter.kt
│                  │      RecommendationItemAdapter.kt
│                  │      SearchItemAdapter.kt
│                  │      ThumbnailItemAdapter.kt
│                  │      TimelineItemAdapter.kt
│                  │      
│                  ├─constants
│                  │      Constant.kt
│                  │      
│                  ├─dialogs
│                  │      ChangeSortingDialog.kt
│                  │      
│                  ├─extensions
│                  │      Activity.kt
│                  │      Context.kt
│                  │      
│                  ├─helper
│                  │      Config.kt
│                  │      Constants.kt
│                  │      EasyPhotoMapApplication.kt
│                  │      PhotoMapDbHelper.kt
│                  │      PhotoMapMigration.kt
│                  │      RegistrationThread.kt
│                  │      
│                  ├─models
│                  │      FileItem.kt
│                  │      PhotoMapItem.kt
│                  │      ThumbnailItem.kt
│                  │      
│                  ├─thumbnail
│                  │      AsyncDrawable.kt
│                  │      BitmapWorkerTask.kt
│                  │      
│                  └─utils
│                          AsyncUtils.kt
│                          BitmapUtils.kt
│                          CommonUtils.kt
│                          DialogUtils.kt
│                          FontUtils.kt
│                          GPSUtils.kt
│                          
└─res
    ├─drawable
    │      bg_button.xml
    │      bg_recommendation_card.xml
    │      circle_marker.xml
    │      circle_timeline.xml
    │      divider_card.xml
    │      frame_02.jpg
    │      frame_03.jpg
    │      ic_fast_scroll.xml
    │      ic_fast_scroll_default.xml
    │      ic_fast_scroll_press.xml
    │      ic_selector.xml
    │      ic_selector_default.xml
    │      ic_selector_press.xml
    │      intro.png
    │      selector_listview.xml
    │      
    ├─drawable-hdpi
    │      delete.png
    │      folder.png
    │      ic_camera.png
    │      ic_edit.png
    │      ic_folder_01.png
    │      ic_image.png
    │      ic_map_marker.png
    │      ic_marker.png
    │      ic_menu_gallery.png
    │      ic_photos.png
    │      ic_search.png
    │      ic_settings.png
    │      ic_timeline.png
    │      redo_2.png
    │      undo_2.png
    │      
    ├─drawable-mdpi
    │      delete.png
    │      folder.png
    │      ic_camera.png
    │      ic_edit.png
    │      ic_folder_01.png
    │      ic_image.png
    │      ic_map_marker.png
    │      ic_marker.png
    │      ic_menu_gallery.png
    │      ic_photos.png
    │      ic_search.png
    │      ic_settings.png
    │      ic_timeline.png
    │      
    ├─drawable-v21
    │      ic_selector.xml
    │      
    ├─drawable-xhdpi
    │      bg_common.xml
    │      delete.png
    │      folder.png
    │      ic_camera.png
    │      ic_edit.png
    │      ic_folder_01.png
    │      ic_image.png
    │      ic_map_marker.png
    │      ic_marker.png
    │      ic_menu_gallery.png
    │      ic_photos.png
    │      ic_search.png
    │      ic_settings.png
    │      ic_timeline.png
    │      redo_2.png
    │      undo_2.png
    │      
    ├─drawable-xxhdpi
    │      delete.png
    │      folder.png
    │      ic_camera.png
    │      ic_edit.png
    │      ic_folder_01.png
    │      ic_image.png
    │      ic_map_marker.png
    │      ic_marker.png
    │      ic_menu_gallery.png
    │      ic_photos.png
    │      ic_search.png
    │      ic_settings.png
    │      ic_timeline.png
    │      redo_2.png
    │      undo_2.png
    │      
    ├─layout
    │      activity_address_search.xml
    │      activity_batch_popup.xml
    │      activity_camera.xml
    │      activity_file_explorer.xml
    │      activity_intro.xml
    │      activity_maps.xml
    │      activity_photo_search.xml
    │      activity_popup_image.xml
    │      activity_settings.xml
    │      activity_thumbnail_explorer.xml
    │      activity_timeline.xml
    │      dialog_change_sorting.xml
    │      item_address.xml
    │      item_file_explorer.xml
    │      item_recommendation.xml
    │      item_search.xml
    │      item_thumbnail.xml
    │      item_timeline.xml
    │      popup_window_camera.xml
    │      popup_window_photo_map_info.xml
    │      popup_window_recommendation.xml
    │      
    ├─menu
    │      file_explorer.xml
    │      menu.xml
    │      setting_menu.xml
    │      thumbnail_explorer_menu.xml
    │      
    ├─mipmap-anydpi-v26
    │      ic_launcher.xml
    │      ic_launcher_round.xml
    │      
    ├─mipmap-hdpi
    │      ic_launcher.png
    │      ic_launcher_foreground.png
    │      ic_launcher_round.png
    │      
    ├─mipmap-mdpi
    │      ic_launcher.png
    │      ic_launcher_foreground.png
    │      ic_launcher_round.png
    │      
    ├─mipmap-xhdpi
    │      ic_launcher.png
    │      ic_launcher_foreground.png
    │      ic_launcher_round.png
    │      
    ├─mipmap-xxhdpi
    │      ic_launcher.png
    │      ic_launcher_foreground.png
    │      ic_launcher_round.png
    │      
    ├─mipmap-xxxhdpi
    │      ic_launcher.png
    │      ic_launcher_foreground.png
    │      ic_launcher_round.png
    │      
    ├─values
    │      colors.xml
    │      dimens.xml
    │      ic_launcher_background.xml
    │      strings.xml
    │      styles.xml
    │      
    ├─values-en
    │      strings.xml
    │      
    ├─values-ja
    │      strings.xml
    │      
    ├─values-ko
    │      strings.xml
    │      
    └─xml
            provider_paths.xml

License

LICENSE

You might also like...
Android library that allows you to determine your location in a few of lines
Android library that allows you to determine your location in a few of lines

locsimple Android library that allows you to determine your location in some lines! Benefits: automatic processing of permissions processing of enabli

 App usage tracker which maps your app usage to geo location.
App usage tracker which maps your app usage to geo location.

Guilt Guilt is an inspiration from Meta (pun intended), it tracks the apps usage and maps it with geo location data where the app was last used. The a

Maps application in Android Studio using the Maps SDK for android

Google-Maps-Application Maps application in Android Studio using the Maps SDK for android. This app was initially developed in Java, but then was conv

Traccar Client is an Android GPS tracking application.

Traccar Client is an Android GPS tracking application. It can work with Traccar open source server software.

Android application for department navigation
Android application for department navigation

DepNav – Department Navigator DepNav is an Android application for viewing indoor maps of departments and searching for specific rooms on them. The fo

Google Maps Api test using marker rotation and routes.
Google Maps Api test using marker rotation and routes.

Google Maps Api test using marker rotation and routes. Features ✔️ Kotlin ✔️ DI: Hilt ✔️ Retrofit ✔️ Gson ✔️ View binding ✔️ Coroutines ✔️ AndroidX ✔️

Tree View; Mind map; Think map; tree map
Tree View; Mind map; Think map; tree map

A custom tree view for Android, designed for easy drawing some tree nodes (e.g. thind mind and tree nodes). Includes smoothly zoom, move, limit and center fix animation support, and allows easy extension so you can add your own child node's customs view and touch event detection.

The app has got fullscreen Turkey map via Huawei Map. App selects random province and shows it borders on the map than user will try to guess the provinces name.
The app has got fullscreen Turkey map via Huawei Map. App selects random province and shows it borders on the map than user will try to guess the provinces name.

Il Bil App Introduction I will introduce you to how to implement Account Kit, Map Kit, Game Service. About the game: The app has got fullscreen Turkey

My Maps displays a list of maps, each of which show user-defined markers with a title, description, and location. The user can also create a new map. The user can save maps and load them in from previous usages of the app.

My Maps Bryant Jimenez My Maps displays a list of maps, each of which show user-defined markers with a title, description, and location. The user can

LocationPicker 2.1 0.4 Java  - A simple and easy to way to pick a location from map
LocationPicker 2.1 0.4 Java - A simple and easy to way to pick a location from map

Introduction LocationPicker is a simple and easy to use library that can be integrated into your project. The project is build with androidx. All libr

This Andoird project is about classifying garbage pictures using a CNN-based Tensorflowlite model and fetching location using GPS to mark its area on the map.
This Andoird project is about classifying garbage pictures using a CNN-based Tensorflowlite model and fetching location using GPS to mark its area on the map.

Grbage_Detector_And_Locator Description As per some of the recent reports published, in India, the pollution levels are increasing at a colossal pace

An application that displays information about movies getting from The Movie DB
An application that displays information about movies getting from The Movie DB

Movie Project Part One - Display and Search Movie. Create an application that displays information about movies getting from The Movie DB.The movie in

A mobile application that contains up-to-date information about the latest earthquakes in Turkey, scientific explanations about earthquakes, and Turkey's earthquake map.
A mobile application that contains up-to-date information about the latest earthquakes in Turkey, scientific explanations about earthquakes, and Turkey's earthquake map.

Recent-Earthquakes A mobile application that contains up-to-date information about the latest earthquakes in Turkey, scientific explanations about ear

Movo (Movie Information) is an android application to find out all the Movie Information and Details.

Movo About The Project Screen.Recording.2022-08-12.at.08.53.46_1.mp4 Movo (Movie Information) is an android application to find out all the Movie Info

This project allows you to  calculate the route between two locations and displays it on a map.
This project allows you to calculate the route between two locations and displays it on a map.

Google-Directions-Android This project allows you to calculate the direction between two locations and display the route on a Google Map using the Goo

☁️🌤🌧☀ Weather Android application that gives you the weather information of your saved location or any region you are looking for☁️🌤🌧☀
☁️🌤🌧☀ Weather Android application that gives you the weather information of your saved location or any region you are looking for☁️🌤🌧☀

☁️🌤🌧☀ Weather Android application that gives you the weather information of your saved location or any region you are looking for☁️🌤🌧☀

A view abstraction to provide a map user interface with various underlying map providers
A view abstraction to provide a map user interface with various underlying map providers

AirMapView AirMapView is a view abstraction that enables interactive maps for devices with and without Google Play Services. It is built to support mu

This is a repo for implementing Map pan or drag (up, down, right ,left) to load more places on the Google Map for Android

Challenge Display restaurants around the user’s current location on a map ○ Use the FourSquare Search API to query for restaurants: https://developer.

Comments
Releases(v1.1.68)
Owner
Bulbasaur
How to survive among piranhas
Bulbasaur
This project allows you to calculate the route between two locations and displays it on a map.

Google-Directions-Android This project allows you to calculate the direction between two locations and display the route on a Google Map using the Goo

Joel Dean 970 Dec 15, 2022
A view abstraction to provide a map user interface with various underlying map providers

AirMapView AirMapView is a view abstraction that enables interactive maps for devices with and without Google Play Services. It is built to support mu

Airbnb 1.8k Dec 4, 2022
This is a repo for implementing Map pan or drag (up, down, right ,left) to load more places on the Google Map for Android

Challenge Display restaurants around the user’s current location on a map ○ Use the FourSquare Search API to query for restaurants: https://developer.

Mahmoud Ramadan 7 Jul 30, 2022
Positional is a location information app for Android with Compass, Clock, Level, Sun and Moon and many other features.

Positional is a location based app that utilizes the device's GPS and fetches various details of the current latitude and longitude data like Altitude, Speed, Address and similar other information and show it in easily understandable format to the user. Alongside this main functionality of being a location app, Positional also provides a separate panel for Compass and Clock, and they serve their own purpose as their name suggests.

Hamza Rizwan 85 Dec 28, 2022
malik dawar 87 Sep 18, 2022
typedmap is an implementation of heterogeneous type-safe map pattern in Kotlin

Typedmap typedmap is an implementation of heterogeneous type-safe map pattern in Kotlin. It is a data structure similar to a regular map, but with two

Ryszard Wiśniewski 34 Nov 7, 2022
Slime loader is a map loader & saver for the file format Slime as specified here implemented in Minestom.

??️ SlimeLoader Slime loader is a map loader & saver for the file format Slime as specified here implemented in Minestom. Features: World loading Bloc

null 25 Oct 2, 2022
Self-hosted map of visited places (with a very fancy stack underneath)

Tripmap Self-hosted map of visited places (with a very fancy stack underneath) Features Sharing custom map-view with pins in locations marked by user.

Igor Kurek 2 Feb 6, 2022
Android library project that lets you manage the location updates to be as painless as possible

Smart Location Library Android library project that intends to simplify the usage of location providers and activity recognition with a nice fluid API

Nacho Lopez 1.6k Dec 29, 2022
An android app that uses Google Maps API and SDK to track a user's location and calculate the total distance travelled

Bike Rush is an android app that uses Google Maps API and SDK to track a user's location and calculate the total distance travelled by him or her along with time and average speed.

Ishant Chauhan 21 Nov 14, 2022