User's Location and Car
[Link]
<uses-permission android:name="[Link]" />
<uses-permission android:name="[Link].ACCESS_FINE_LOCATION" />
<uses-permission android:name="[Link].ACCESS_COARSE_LOCATION" />
activity_main.xml
<fragment xmlns:android="[Link]
xmlns:map="[Link]
xmlns:tools="[Link]
android:id="@+id/map"
android:name="[Link]"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MapsActivity" />
[Link]
public class MapsActivity extends FragmentActivity implements OnMapReadyCallback,
LocationListener,
[Link],
[Link] {
private GoogleMap mMap;
private GoogleApiClient mGoogleApiClient;
private LocationRequest mLocationRequest;
private Marker mMarker;
@Override
protected void onCreate(Bundle savedInstanceState) {
[Link](savedInstanceState);
setContentView([Link].activity_maps);
SupportMapFragment mf = (SupportMapFragment)
getSupportFragmentManager().findFragmentById([Link]);
[Link](this);
}
@Override
public void onMapReady(GoogleMap gMap) {
mMap = gMap;
buildGoogleApiClient();
[Link](true);
}
private synchronized void buildGoogleApiClient() {
mGoogleApiClient = new [Link](this)
.addConnectionCallbacks(this)
.addOnConnectionFailedListener(this)
.addApi([Link]).build();
[Link]();
}
@Override
public void onConnected(Bundle bundle) {
mLocationRequest = [Link]()
.setInterval(1000)
.setFastestInterval(1000)
.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
if ([Link](this,
[Link].ACCESS_FINE_LOCATION)
== PackageManager.PERMISSION_GRANTED) {
[Link](mGoogleApiClient,
mLocationRequest, this);
}
}
@Override
public void onLocationChanged(Location location) {
if (mMarker != null) [Link]();
LatLng current = new LatLng([Link](),
[Link]());
mMarker = [Link](new
MarkerOptions().position(current).title("You"));
[Link]([Link](current, 13));
@Override public void onConnectionSuspended(int i) {}
@Override public void onConnectionFailed(ConnectionResult connectionResult) {}
}