Skip to content

Commit

Permalink
#7: Added Camera animation in Maps
Browse files Browse the repository at this point in the history
  • Loading branch information
pulkit4tech committed Jan 2, 2017
1 parent 948130f commit ce40360
Show file tree
Hide file tree
Showing 4 changed files with 32 additions and 17 deletions.
3 changes: 0 additions & 3 deletions app/src/main/java/com/pulkit4tech/privy/MainActivity.java
Original file line number Diff line number Diff line change
@@ -1,14 +1,11 @@
package com.pulkit4tech.privy;

import android.content.Intent;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

public class MainActivity extends AppCompatActivity {

private PrivyMapsActivity mapFragement;
public static final String DEBUG = "DEBUGGER";

@Override
Expand Down
36 changes: 32 additions & 4 deletions app/src/main/java/com/pulkit4tech/privy/PrivyMapsActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +2,19 @@

import android.content.Context;
import android.content.pm.PackageManager;
import android.location.Criteria;
import android.location.Location;
import android.location.LocationManager;
import android.os.Bundle;
import android.support.v4.app.ActivityCompat;
import android.support.v7.app.ActionBarActivity;
import android.util.Log;
import android.widget.Toast;

import com.google.android.gms.maps.CameraUpdate;
import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.OnMapReadyCallback;
import com.google.android.gms.maps.SupportMapFragment;
import com.google.android.gms.maps.model.BitmapDescriptorFactory;
import com.google.android.gms.maps.model.CameraPosition;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.Marker;
import com.google.android.gms.maps.model.MarkerOptions;
Expand All @@ -29,6 +28,8 @@ public class PrivyMapsActivity extends ActionBarActivity implements OnMapReadyCa
private GoogleMap mMap;
private Context mContext;
private Marker myLocationMarker;
private CameraPosition MY_LOCATION_CAMERA_POS;
private static final int CAMERA_ANIMATION_DURATION = 2500;

// My Location
private LocationData myLocationData;
Expand Down Expand Up @@ -99,15 +100,42 @@ public boolean onMyLocationButtonClick() {
myLocationMarker.remove();
}

MY_LOCATION_CAMERA_POS = new CameraPosition.Builder()
.target(myLocationData.getLatLng())
.zoom(15.0f)
.bearing(0)
.tilt(25)
.build();

myLocationMarker = mMap.addMarker(new MarkerOptions().position(myLocationData.getLatLng()).title("My Location"));
mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(myLocationData.getLatLng(), 15.0f));

//animate camera
onGoToMyLocation();
Log.d(DEBUG, myLocationData.getLatLng().toString());
}
return true;
}
});
}

private void onGoToMyLocation() {
changeCamera(CameraUpdateFactory.newCameraPosition(MY_LOCATION_CAMERA_POS), new GoogleMap.CancelableCallback() {
@Override
public void onFinish() {
Toast.makeText(mContext,"Animation Finished",Toast.LENGTH_SHORT).show();
}

@Override
public void onCancel() {
Toast.makeText(mContext,"Animation Canceled",Toast.LENGTH_SHORT).show();
}
});
}

private void changeCamera(CameraUpdate update, GoogleMap.CancelableCallback callback){
mMap.animateCamera(update,CAMERA_ANIMATION_DURATION,callback);
}

private boolean checkLocationEnabledPermission() {
if (ActivityCompat.checkSelfPermission(this, android.Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, android.Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
// TODO: Consider calling
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@
import android.location.LocationListener;
import android.os.Bundle;
import android.support.v4.app.ActivityCompat;
import android.util.Log;
import android.widget.Toast;


Expand All @@ -18,11 +17,6 @@
import com.pulkit4tech.privy.data.LocationData;

import static android.content.Context.LOCATION_SERVICE;
import static com.pulkit4tech.privy.MainActivity.DEBUG;

/**
* Created by pulkit on 01/01/17.
*/

public class LocationServices implements LocationListener {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,6 @@

import com.google.android.gms.maps.model.LatLng;

/**
* Created by pulkit on 01/01/17.
*/

public class LocationData {
private LatLng latLng;
private String Description;
Expand Down

0 comments on commit ce40360

Please sign in to comment.