All Projects → abdularis → Track My Location

abdularis / Track My Location

Licence: gpl-3.0
Android real-time location tracker app (learn using Firebase 🔥, Google Maps & Location Api) 🌐

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Track My Location

Xaml Code Experiences
A collection of the experiences I have collected during days of Xamarin and Wpf, while following the MVVM design pattern.
Stars: ✭ 114 (-16.18%)
Mutual labels:  mvvm-architecture
Movieapp Clean Architecture
Learning Project (Movie App) For Applying Android Architecture Components And Clean Architecture Using MVVM With Kotlin
Stars: ✭ 123 (-9.56%)
Mutual labels:  mvvm-architecture
Restapimvvm
App that interacts with a Rest Api. Architecture is MVVM.
Stars: ✭ 130 (-4.41%)
Mutual labels:  mvvm-architecture
Mvvm Architecture
The practice of MVVM + Jetpack architecture in Android.
Stars: ✭ 1,634 (+1101.47%)
Mutual labels:  mvvm-architecture
Mapdrawingtools
this library Drawing polygon, polyline and points in Google Map and return coordinates to your App
Stars: ✭ 122 (-10.29%)
Mutual labels:  google-maps
Android Tech Frontier
【停止维护】一个定期翻译国外Android优质的技术、开源库、软件架构设计、测试等文章的开源项目
Stars: ✭ 10,334 (+7498.53%)
Mutual labels:  mvvm-architecture
Google Maps React
Companion code to the "How to Write a Google Maps React Component" Tutorial
Stars: ✭ 1,542 (+1033.82%)
Mutual labels:  google-maps
Combine Mvvm
Sample project with Combine & UIKit framework, MVVM architecture
Stars: ✭ 132 (-2.94%)
Mutual labels:  mvvm-architecture
Xcoordinator
🎌 Powerful navigation library for iOS based on the coordinator pattern
Stars: ✭ 1,752 (+1188.24%)
Mutual labels:  mvvm-architecture
Android Mvvm Architecture
A basic sample android application to understand MVVM in a very simple way.
Stars: ✭ 129 (-5.15%)
Mutual labels:  mvvm-architecture
Bark
Bark is an iOS App which allows you to push customed notifications to your iPhone
Stars: ✭ 2,371 (+1643.38%)
Mutual labels:  mvvm-architecture
Eon Map
Realtime maps with PubNub and MapBox.
Stars: ✭ 121 (-11.03%)
Mutual labels:  google-maps
Kotlin Mvvm Architecture
Android Architecture Design Patterns using Kotlin, MVVM, Dagger2, LiveData, Room, MediatorLiveData, NetworkBoundResources, Retrofit, AndroidX, ViewModels, Dependency Injection using Dagger2, Repository pattern.
Stars: ✭ 126 (-7.35%)
Mutual labels:  mvvm-architecture
Android Inappbilling
A sample which uses Google's Play Billing Library and it does InApp Purchases and Subscriptions.
Stars: ✭ 114 (-16.18%)
Mutual labels:  mvvm-architecture
Bindables
🧬 Android DataBinding kit for notifying data changes from Model layers to UI layers on MVVM architecture.
Stars: ✭ 130 (-4.41%)
Mutual labels:  mvvm-architecture
Googlemap
Google Map to use create path on map and play vehicle on path like Uber and Ola
Stars: ✭ 112 (-17.65%)
Mutual labels:  google-maps
Laravelgooglemaps
Laravel Google Maps Package
Stars: ✭ 124 (-8.82%)
Mutual labels:  google-maps
Kotlinmultiplatform mvvm
Android & iOS App using MVVM pattern and LiveData on the presentation layer + Clean Arch on the common shared code.
Stars: ✭ 135 (-0.74%)
Mutual labels:  mvvm-architecture
Cordova Plugin Googlemaps
Google Maps plugin for Cordova
Stars: ✭ 1,647 (+1111.03%)
Mutual labels:  google-maps
Placepicker
Free Android Map Place Picker alternative using Geocoder instead of Google APIs
Stars: ✭ 126 (-7.35%)
Mutual labels:  google-maps

Track My Location

This is a simple android app where you can brodcast your location and everyone who has your dynamically generated unique key can track you in near real-time.

I created this project just for learning puposes particularly about firebase (firestore db), google maps api and google location api.


Screenshots


References


How it works?

  • The first device get continous location update from gps, network etc. then
  • Write and update the location data to a specific firebase firestore document
  • Last, the second device read that firebase firestore document and show the marker in that location

Hot to integrate Google Maps & Location API

To use google maps in an android app you can use SupportMapFragment or MapView

  • Using google maps fragment (inside a layout or as a root tag)
<fragment
	android:id="@+id/map"
	android:name="com.google.android.gms.maps.SupportMapFragment"
	android:layout_width="match_parent"
	android:layout_height="match_parent"/>
  • Then you have to add permissions and google maps api key in the AndroidManifest.xml file

Add permisions for coase and fine location also add meta-data tag for API key


Integrate Google Play Services for Firebase into android project

  • Add this gradle plugin 'com.google.gms:google-services:3.1.1' into dependencies block of the top-level gradle build file

  • Apply the google play services plugin in the app level gradle build file (app project)

  • Then you can add google play services library for maps, location, places etc. (firebase needs google play services to operate)

  • You need to download and add google-services.json file to your project_name/app/ directory from firebase console when you add an android app to your firebase project
  • Here are the complete figure

enter the app package name & SHA-1 key (optional for firebase auth)


Getting API Key for Google Maps & Location

  • Go to the google cloud console page and click credentials submenu (or Get API Key )

  • Then create a new credential

  • New API key has been created, you can copy the key and paste in the manifest file. To restrict access of the key click the restrict button

  • You can restrict api key usage by selecting the platform or IP address by which the api call would be requested (Application restrictions)

  1. Select one of the application restrictions (in this case Android)
  2. Insert your android app package name
  3. Insert SHA-1 fingerprint of your app
  4. Click Save button

  • To get SHA-1 key you can use your android studo by opening your particular project -> select signingReport gradle task -> copy & paste the SHA-1 key into the android app restriction form

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].