Skip to content
This repository has been archived by the owner on Oct 7, 2024. It is now read-only.

Commit

Permalink
Ls adjustment icondrawable (#206)
Browse files Browse the repository at this point in the history
* used utilities for icon creation, added location engine and location engine listenery

* Got rid of unneeded imports

* removed another unnecessary import

* adjusted declaration of locationEngine

* adjusted telemetry service in manifest

* removed Utilities class infavor of IconFactory fix and fixed checkstyle issues

* removed unused import
  • Loading branch information
langsmith authored and Cameron Mace committed Feb 13, 2017
1 parent 72f1f41 commit 651d95c
Show file tree
Hide file tree
Showing 16 changed files with 202 additions and 223 deletions.
2 changes: 1 addition & 1 deletion MapboxAndroidDemo/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -164,7 +164,7 @@
android:value=".MainActivity"/>
</activity>

<service android:name="com.mapbox.mapboxsdk.telemetry.TelemetryService"/>
<service android:name="com.mapbox.services.android.telemetry.service.TelemetryService"/>

<activity
android:name=".examples.basics.MapboxMapOptionActivity"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,8 @@
import android.animation.AnimatorSet;
import android.animation.ObjectAnimator;
import android.animation.ValueAnimator;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.v4.content.ContextCompat;
import android.support.v7.app.AppCompatActivity;
import android.view.View;

Expand Down Expand Up @@ -44,9 +42,7 @@ protected void onCreate(Bundle savedInstanceState) {
@Override
public void onMapReady(final MapboxMap mapboxMap) {

IconFactory iconFactory = IconFactory.getInstance(AnimatedCircleMarkerActivity.this);
Drawable iconDrawable = ContextCompat.getDrawable(AnimatedCircleMarkerActivity.this, R.drawable.circle_icon);
Icon icon = iconFactory.fromDrawable(iconDrawable);
Icon icon = IconFactory.getInstance(AnimatedCircleMarkerActivity.this).fromResource(R.drawable.circle_icon);

circle = mapboxMap.addMarker(new MarkerViewOptions()
.position(new LatLng(40.73581, -73.99155))
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
package com.mapbox.mapboxandroiddemo.examples.annotations;

import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.support.v4.content.ContextCompat;
import android.support.v7.app.AppCompatActivity;

import com.mapbox.mapboxandroiddemo.R;
Expand Down Expand Up @@ -36,9 +34,7 @@ protected void onCreate(Bundle savedInstanceState) {
@Override
public void onMapReady(MapboxMap mapboxMap) {

IconFactory iconFactory = IconFactory.getInstance(BasicMarkerViewActivity.this);
Drawable iconDrawable = ContextCompat.getDrawable(BasicMarkerViewActivity.this, R.drawable.purple_marker);
Icon icon = iconFactory.fromDrawable(iconDrawable);
Icon icon = IconFactory.getInstance(BasicMarkerViewActivity.this).fromResource(R.drawable.purple_marker);

// The easiest way to add a marker view
mapboxMap.addMarker(new MarkerViewOptions()
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
package com.mapbox.mapboxandroiddemo.examples.annotations;

import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.support.v4.content.ContextCompat;
import android.support.v7.app.AppCompatActivity;

import com.mapbox.mapboxandroiddemo.R;
Expand Down Expand Up @@ -37,9 +35,7 @@ public void onCreate(Bundle savedInstanceState) {
public void onMapReady(MapboxMap mapboxMap) {

// Create an Icon object for the marker to use
IconFactory iconFactory = IconFactory.getInstance(DrawCustomMarkerActivity.this);
Drawable iconDrawable = ContextCompat.getDrawable(DrawCustomMarkerActivity.this, R.drawable.purple_marker);
Icon icon = iconFactory.fromDrawable(iconDrawable);
Icon icon = IconFactory.getInstance(DrawCustomMarkerActivity.this).fromResource(R.drawable.purple_marker);

// Add the custom icon marker to the map
mapboxMap.addMarker(new MarkerOptions()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,11 +26,13 @@
import com.mapbox.mapboxsdk.annotations.MarkerViewManager;
import com.mapbox.mapboxsdk.camera.CameraUpdateFactory;
import com.mapbox.mapboxsdk.geometry.LatLng;
import com.mapbox.mapboxsdk.location.LocationListener;
import com.mapbox.mapboxsdk.location.LocationServices;
import com.mapbox.mapboxsdk.location.LocationSource;
import com.mapbox.mapboxsdk.maps.MapView;
import com.mapbox.mapboxsdk.maps.MapboxMap;
import com.mapbox.mapboxsdk.maps.OnMapReadyCallback;
import com.mapbox.services.android.telemetry.location.LocationEngine;
import com.mapbox.services.android.telemetry.location.LocationEngineListener;
import com.mapbox.services.android.telemetry.permissions.PermissionsManager;

/**
* This example shows how to create your own marker and update its location so that we follow the
Expand All @@ -50,8 +52,8 @@ public class AnimatedLocationIconActivity extends AppCompatActivity {
private MapView mapView;
private MapboxMap map;
private MarkerView userMarker;
private LocationServices locationServices;
private LocationListener locationListener;
private LocationEngine locationEngine;
private LocationEngineListener locationListener;
private boolean initialLocationSet = false;

private static final int PERMISSIONS_LOCATION = 0;
Expand All @@ -67,7 +69,9 @@ protected void onCreate(Bundle savedInstanceState) {
// This contains the MapView in XML and needs to be called after the account manager
setContentView(R.layout.activity_location_animated_icon);

locationServices = LocationServices.getLocationServices(AnimatedLocationIconActivity.this);
// Get the location engine object for later use.
locationEngine = LocationSource.getLocationEngine(this);


mapView = (MapView) findViewById(R.id.mapView);
mapView.onCreate(savedInstanceState);
Expand All @@ -88,7 +92,7 @@ public void onViewAdded(@NonNull MarkerView markerView) {
}
});

if (locationServices.areLocationPermissionsGranted()) {
if (PermissionsManager.areLocationPermissionsGranted(AnimatedLocationIconActivity.this)) {
setInitialMapPosition();
}

Expand Down Expand Up @@ -134,7 +138,7 @@ protected void onDestroy() {
// Ensure no memory leak occurs if we register the location listener but the call hasn't
// been made yet.
if (locationListener != null) {
locationServices.removeLocationListener(locationListener);
locationEngine.removeLocationEngineListener(locationListener);
}
}

Expand Down Expand Up @@ -167,7 +171,7 @@ private void animateMarker(MarkerView marker) {

private void enableGps() {
// Check if user has granted location permission
if (!locationServices.areLocationPermissionsGranted()) {
if (!PermissionsManager.areLocationPermissionsGranted(AnimatedLocationIconActivity.this)) {
ActivityCompat.requestPermissions(this, new String[] {
Manifest.permission.ACCESS_COARSE_LOCATION,
Manifest.permission.ACCESS_FINE_LOCATION}, PERMISSIONS_LOCATION);
Expand All @@ -177,7 +181,7 @@ private void enableGps() {
}

private void setInitialMapPosition() {
Location lastLocation = LocationServices.getLocationServices(this).getLastLocation();
Location lastLocation = locationEngine.getLastLocation();
if (lastLocation != null && userMarker != null) {
map.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(lastLocation), 16));
userMarker.setPosition(new LatLng(lastLocation));
Expand All @@ -186,22 +190,32 @@ private void setInitialMapPosition() {

private void enableLocation() {
// If we have the last location of the user, we can move the camera to that position.
Location lastLocation = locationServices.getLastLocation();
Location lastLocation = locationEngine.getLastLocation();
if (lastLocation != null) {
map.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(lastLocation), 16));
}

locationListener = new LocationListener() {
locationListener = new LocationEngineListener() {
@Override
public void onConnected() {

locationEngine.requestLocationUpdates();


}

@Override
public void onLocationChanged(Location location) {
if (location != null) {
map.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(location), 16));
locationServices.removeLocationListener(this);
locationEngine.removeLocationEngineListener(this);
userMarker.setPosition(new LatLng(location));
}
}


};
locationServices.addLocationListener(locationListener);

}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,19 +14,21 @@
import com.mapbox.mapboxsdk.Mapbox;
import com.mapbox.mapboxsdk.camera.CameraUpdateFactory;
import com.mapbox.mapboxsdk.geometry.LatLng;
import com.mapbox.mapboxsdk.location.LocationListener;
import com.mapbox.mapboxsdk.location.LocationServices;
import com.mapbox.mapboxsdk.location.LocationSource;
import com.mapbox.mapboxsdk.maps.MapView;
import com.mapbox.mapboxsdk.maps.MapboxMap;
import com.mapbox.mapboxsdk.maps.OnMapReadyCallback;
import com.mapbox.services.android.telemetry.location.LocationEngine;
import com.mapbox.services.android.telemetry.location.LocationEngineListener;
import com.mapbox.services.android.telemetry.permissions.PermissionsManager;

public class BasicUserLocation extends AppCompatActivity {

private MapView mapView;
private MapboxMap map;
private FloatingActionButton floatingActionButton;
private LocationServices locationServices;
private LocationListener locationListener;
private LocationEngine locationEngine;
private LocationEngineListener locationEngineListener;

private static final int PERMISSIONS_LOCATION = 0;

Expand All @@ -41,7 +43,8 @@ protected void onCreate(Bundle savedInstanceState) {
// This contains the MapView in XML and needs to be called after the account manager
setContentView(R.layout.activity_location_basic);

locationServices = LocationServices.getLocationServices(BasicUserLocation.this);
// Get the location engine object for later use.
locationEngine = LocationSource.getLocationEngine(this);

mapView = (MapView) findViewById(R.id.mapView);
mapView.onCreate(savedInstanceState);
Expand Down Expand Up @@ -99,8 +102,8 @@ protected void onDestroy() {
mapView.onDestroy();
// Ensure no memory leak occurs if we register the location listener but the call hasn't
// been made yet.
if (locationListener != null) {
locationServices.removeLocationListener(locationListener);
if (locationEngineListener != null) {
locationEngine.removeLocationEngineListener(locationEngineListener);
}
}

Expand All @@ -113,8 +116,8 @@ public void onLowMemory() {
private void toggleGps(boolean enableGps) {
if (enableGps) {
// Check if user has granted location permission
if (!locationServices.areLocationPermissionsGranted()) {
ActivityCompat.requestPermissions(this, new String[]{
if (!PermissionsManager.areLocationPermissionsGranted(BasicUserLocation.this)) {
ActivityCompat.requestPermissions(this, new String[] {
Manifest.permission.ACCESS_COARSE_LOCATION,
Manifest.permission.ACCESS_FINE_LOCATION}, PERMISSIONS_LOCATION);
} else {
Expand All @@ -128,12 +131,18 @@ private void toggleGps(boolean enableGps) {
private void enableLocation(boolean enabled) {
if (enabled) {
// If we have the last location of the user, we can move the camera to that position.
Location lastLocation = locationServices.getLastLocation();
Location lastLocation = locationEngine.getLastLocation();
if (lastLocation != null) {
map.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(lastLocation), 16));
}

locationListener = new LocationListener() {
locationEngineListener = new LocationEngineListener() {
@Override
public void onConnected() {
locationEngine.requestLocationUpdates();

}

@Override
public void onLocationChanged(Location location) {
if (location != null) {
Expand All @@ -142,11 +151,11 @@ public void onLocationChanged(Location location) {
// changes. When the user disables and then enables the location again, this
// listener is registered again and will adjust the camera once again.
map.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(location), 16));
locationServices.removeLocationListener(this);
locationEngine.removeLocationEngineListener(this);
}
}
};
locationServices.addLocationListener(locationListener);
locationEngine.addLocationEngineListener(locationEngineListener);
floatingActionButton.setImageResource(R.drawable.ic_location_disabled_24dp);
} else {
floatingActionButton.setImageResource(R.drawable.ic_my_location_24dp);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,16 +11,18 @@
import com.mapbox.mapboxandroiddemo.R;
import com.mapbox.mapboxsdk.Mapbox;
import com.mapbox.mapboxsdk.constants.MyLocationTracking;
import com.mapbox.mapboxsdk.location.LocationServices;
import com.mapbox.mapboxsdk.location.LocationSource;
import com.mapbox.mapboxsdk.maps.MapView;
import com.mapbox.mapboxsdk.maps.MapboxMap;
import com.mapbox.mapboxsdk.maps.OnMapReadyCallback;
import com.mapbox.services.android.telemetry.location.LocationEngine;
import com.mapbox.services.android.telemetry.permissions.PermissionsManager;

public class CustomizeUserLocationActivity extends AppCompatActivity {

private MapView mapView;
private MapboxMap map;
private LocationServices locationServices;
private LocationEngine locationEngine;

private static final int PERMISSIONS_LOCATION = 0;

Expand All @@ -35,7 +37,9 @@ protected void onCreate(Bundle savedInstanceState) {
// This contains the MapView in XML and needs to be called after the account manager
setContentView(R.layout.activity_location_customize_user);

locationServices = LocationServices.getLocationServices(CustomizeUserLocationActivity.this);
// Get the location engine object for later use.
locationEngine = LocationSource.getLocationEngine(this);


mapView = (MapView) findViewById(R.id.mapView);
mapView.onCreate(savedInstanceState);
Expand Down Expand Up @@ -99,7 +103,7 @@ protected void onSaveInstanceState(Bundle outState) {

private void enableGps() {
// Check if user has granted location permission
if (!locationServices.areLocationPermissionsGranted()) {
if (!PermissionsManager.areLocationPermissionsGranted(CustomizeUserLocationActivity.this)) {
ActivityCompat.requestPermissions(this, new String[] {
Manifest.permission.ACCESS_COARSE_LOCATION,
Manifest.permission.ACCESS_FINE_LOCATION}, PERMISSIONS_LOCATION);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,16 +11,15 @@
import com.mapbox.mapboxsdk.Mapbox;
import com.mapbox.mapboxsdk.constants.MyBearingTracking;
import com.mapbox.mapboxsdk.constants.MyLocationTracking;
import com.mapbox.mapboxsdk.location.LocationServices;
import com.mapbox.mapboxsdk.maps.MapView;
import com.mapbox.mapboxsdk.maps.MapboxMap;
import com.mapbox.mapboxsdk.maps.OnMapReadyCallback;
import com.mapbox.services.android.telemetry.permissions.PermissionsManager;

public class LocationTrackingActivity extends AppCompatActivity {

private MapView mapView;
private MapboxMap map;
private LocationServices locationServices;

private static final int PERMISSIONS_LOCATION = 0;

Expand All @@ -35,8 +34,6 @@ protected void onCreate(Bundle savedInstanceState) {
// This contains the MapView in XML and needs to be called after the account manager
setContentView(R.layout.activity_location_tracking);

locationServices = LocationServices.getLocationServices(LocationTrackingActivity.this);

mapView = (MapView) findViewById(R.id.mapView);
mapView.onCreate(savedInstanceState);
mapView.getMapAsync(new OnMapReadyCallback() {
Expand All @@ -47,8 +44,8 @@ public void onMapReady(MapboxMap mapboxMap) {

// Check if user has granted location permission. If they haven't, we request it
// otherwise we enable location tracking.
if (!locationServices.areLocationPermissionsGranted()) {
ActivityCompat.requestPermissions(LocationTrackingActivity.this, new String[]{
if (!PermissionsManager.areLocationPermissionsGranted(LocationTrackingActivity.this)) {
ActivityCompat.requestPermissions(LocationTrackingActivity.this, new String[] {
Manifest.permission.ACCESS_COARSE_LOCATION,
Manifest.permission.ACCESS_FINE_LOCATION}, PERMISSIONS_LOCATION);
} else {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@
import com.mapbox.mapboxsdk.maps.MapView;
import com.mapbox.mapboxsdk.maps.MapboxMap;
import com.mapbox.mapboxsdk.maps.OnMapReadyCallback;
import com.mapbox.services.Constants;
import com.mapbox.services.api.ServicesException;
import com.mapbox.services.api.directions.v5.DirectionsCriteria;
import com.mapbox.services.api.directions.v5.MapboxDirections;
Expand All @@ -29,6 +28,8 @@
import retrofit2.Callback;
import retrofit2.Response;

import static com.mapbox.services.Constants.PRECISION_6;

public class DirectionsActivity extends AppCompatActivity {

private static final String TAG = "DirectionsActivity";
Expand Down Expand Up @@ -128,7 +129,7 @@ public void onFailure(Call<DirectionsResponse> call, Throwable throwable) {

private void drawRoute(DirectionsRoute route) {
// Convert LineString coordinates into LatLng[]
LineString lineString = LineString.fromPolyline(route.getGeometry(), Constants.OSRM_PRECISION_V5);
LineString lineString = LineString.fromPolyline(route.getGeometry(), PRECISION_6);
List<Position> coordinates = lineString.getCoordinates();
LatLng[] points = new LatLng[coordinates.size()];
for (int i = 0; i < coordinates.size(); i++) {
Expand Down
Loading

0 comments on commit 651d95c

Please sign in to comment.