summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrad Leege <bleege@gmail.com>2015-08-12 18:24:56 -0500
committerBrad Leege <bleege@gmail.com>2015-08-12 18:24:56 -0500
commitb61aabd2d90f0c13ca83c56c213a487d9cfa3927 (patch)
tree811d03d8c01678c879600d089e5108ad16e956d5
parent772238a2296d2c0b92c19eefaa97b1e9ea096d95 (diff)
parent72aaf3934a8aa3569e455b04975d4f8ee2126dc4 (diff)
downloadqtlocation-mapboxgl-b61aabd2d90f0c13ca83c56c213a487d9cfa3927.tar.gz
Merge branch '1856-material-take-2'
m---------.mason0
-rw-r--r--android/java/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxgl/views/MapView.java109
-rw-r--r--android/java/MapboxGLAndroidSDK/src/main/res/drawable-hdpi/ic_explore_black_24dp.pngbin465 -> 0 bytes
-rw-r--r--android/java/MapboxGLAndroidSDK/src/main/res/drawable-hdpi/ic_my_location_black_24dp.pngbin549 -> 0 bytes
-rw-r--r--android/java/MapboxGLAndroidSDK/src/main/res/drawable-mdpi/ic_explore_black_24dp.pngbin322 -> 0 bytes
-rw-r--r--android/java/MapboxGLAndroidSDK/src/main/res/drawable-mdpi/ic_my_location_black_24dp.pngbin341 -> 0 bytes
-rw-r--r--android/java/MapboxGLAndroidSDK/src/main/res/drawable-xhdpi/ic_explore_black_24dp.pngbin624 -> 0 bytes
-rw-r--r--android/java/MapboxGLAndroidSDK/src/main/res/drawable-xhdpi/ic_my_location_black_24dp.pngbin660 -> 0 bytes
-rw-r--r--android/java/MapboxGLAndroidSDK/src/main/res/drawable-xxhdpi/ic_explore_black_24dp.pngbin913 -> 0 bytes
-rw-r--r--android/java/MapboxGLAndroidSDK/src/main/res/drawable-xxhdpi/ic_my_location_black_24dp.pngbin976 -> 0 bytes
-rw-r--r--android/java/MapboxGLAndroidSDK/src/main/res/drawable-xxxhdpi/ic_explore_black_24dp.pngbin1219 -> 0 bytes
-rw-r--r--android/java/MapboxGLAndroidSDK/src/main/res/drawable-xxxhdpi/ic_my_location_black_24dp.pngbin1334 -> 0 bytes
-rw-r--r--android/java/MapboxGLAndroidSDK/src/main/res/values/strings.xml1
-rw-r--r--android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxgl/testapp/MainActivity.java297
-rw-r--r--android/java/MapboxGLAndroidSDKTestApp/src/main/res/drawable-hdpi/ic_menu.pngbin0 -> 116 bytes
-rw-r--r--android/java/MapboxGLAndroidSDKTestApp/src/main/res/drawable-hdpi/ic_my_location_white_24dp.pngbin0 -> 546 bytes
-rw-r--r--android/java/MapboxGLAndroidSDKTestApp/src/main/res/drawable-mdpi/ic_menu.pngbin0 -> 99 bytes
-rw-r--r--android/java/MapboxGLAndroidSDKTestApp/src/main/res/drawable-mdpi/ic_my_location_white_24dp.pngbin0 -> 350 bytes
-rw-r--r--android/java/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xhdpi/ic_menu.pngbin0 -> 135 bytes
-rw-r--r--android/java/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xhdpi/ic_my_location_white_24dp.pngbin0 -> 687 bytes
-rw-r--r--android/java/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxhdpi/ic_menu.pngbin0 -> 183 bytes
-rw-r--r--android/java/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxhdpi/ic_my_location_white_24dp.pngbin0 -> 1012 bytes
-rw-r--r--android/java/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxxhdpi/ic_menu.pngbin0 -> 235 bytes
-rw-r--r--android/java/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxxhdpi/ic_my_location_white_24dp.pngbin0 -> 1379 bytes
-rw-r--r--android/java/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_main.xml107
-rw-r--r--android/java/MapboxGLAndroidSDKTestApp/src/main/res/menu/menu_drawer.xml55
-rw-r--r--android/java/MapboxGLAndroidSDKTestApp/src/main/res/menu/menu_main.xml16
-rw-r--r--android/java/MapboxGLAndroidSDKTestApp/src/main/res/values/colors.xml7
-rw-r--r--android/java/MapboxGLAndroidSDKTestApp/src/main/res/values/dimens.xml4
-rw-r--r--android/java/MapboxGLAndroidSDKTestApp/src/main/res/values/strings.xml22
-rw-r--r--android/java/MapboxGLAndroidSDKTestApp/src/main/res/values/styles.xml10
m---------src/mbgl/util/geojsonvt0
32 files changed, 330 insertions, 298 deletions
diff --git a/.mason b/.mason
-Subproject d8597d944533dbb5e28d08dfdba22a82c93171b
+Subproject abdc131273c3e50e42f245b1166c27de4c34c58
diff --git a/android/java/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxgl/views/MapView.java b/android/java/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxgl/views/MapView.java
index 3b34fcca0b..ca0b2526f8 100644
--- a/android/java/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxgl/views/MapView.java
+++ b/android/java/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxgl/views/MapView.java
@@ -7,11 +7,8 @@ import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.pm.PackageManager;
-import android.content.res.ColorStateList;
import android.content.res.TypedArray;
import android.graphics.Bitmap;
-import android.graphics.BitmapFactory;
-import android.graphics.Color;
import android.graphics.Matrix;
import android.graphics.PointF;
import android.hardware.GeomagneticField;
@@ -25,8 +22,6 @@ import android.net.NetworkInfo;
import android.os.Build;
import android.os.Bundle;
import android.support.annotation.NonNull;
-import android.support.design.widget.FloatingActionButton;
-import android.support.v4.content.res.ResourcesCompat;
import android.support.v4.view.GestureDetectorCompat;
import android.support.v4.view.ScaleGestureDetectorCompat;
import android.text.TextUtils;
@@ -42,7 +37,6 @@ import android.view.SurfaceHolder;
import android.view.SurfaceView;
import android.view.View;
import android.view.ViewConfiguration;
-import android.view.ViewGroup;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.ZoomButtonsController;
@@ -126,13 +120,18 @@ public class MapView extends FrameLayout implements LocationListener {
// Holds the context
private Context mContext;
- // Used for GPS
+ // Used for GPS / Location
private boolean mIsGpsOn = false;
private LostApiClient mLocationClient;
private LocationRequest mLocationRequest;
private ImageView mGpsMarker;
private Location mGpsLocation;
+ public enum UserLocationTrackingMode {
+ NONE, FOLLOW, FOLLOW_BEARING;
+ }
+ private UserLocationTrackingMode userLocationTrackingMode = UserLocationTrackingMode.FOLLOW;
+
// Used for compass
private boolean mIsCompassEnabled = true;
private ImageView mCompassView;
@@ -149,13 +148,13 @@ public class MapView extends FrameLayout implements LocationListener {
private boolean mCompassValid = false;
// Used for map toggle mode
- private FloatingActionButton trackingModeButton;
- private int trackingMode = 0;
+// private FloatingActionButton trackingModeButton;
private long t0 = new Date().getTime();
// Used to manage Event Listeners
private ArrayList<OnMapChangedListener> mOnMapChangedListener;
+
//
// Properties
//
@@ -309,20 +308,6 @@ public class MapView extends FrameLayout implements LocationListener {
addView(mCompassView);
mCompassView.setOnClickListener(new CompassOnClickListener());
- // Setup tracking mode
- trackingModeButton = new FloatingActionButton(mContext);
- trackingModeButton.setContentDescription(getResources().getString(R.string.trackingModeButtonContentDescription));
- trackingModeButton.setBackgroundTintList(ColorStateList.valueOf(getResources().getColor(R.color.background_material_light)));
-// trackingModeButton.setElevation(4);
- trackingModeButton.setImageBitmap(BitmapFactory.decodeResource(getResources(), R.drawable.ic_my_location_black_24dp));
- LayoutParams lp2 = new FrameLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
- lp2.gravity = Gravity.BOTTOM | Gravity.END;
- int twentyDp = (int)(20 * mScreenDensity);
- lp2.setMargins(twentyDp, twentyDp, twentyDp, twentyDp);
- trackingModeButton.setLayoutParams(lp2);
- addView(trackingModeButton);
- trackingModeButton.setOnClickListener(new ToggleModeClickListener());
-
// Setup Support For Listener Tracking
// MapView's internal listener is setup in onCreate()
mOnMapChangedListener = new ArrayList<OnMapChangedListener>();
@@ -516,6 +501,14 @@ public class MapView extends FrameLayout implements LocationListener {
mNativeMapView.toggleCollisionDebug();
}
+ public UserLocationTrackingMode getUserLocationTrackingMode() {
+ return userLocationTrackingMode;
+ }
+
+ public void setUserLocationTrackingMode(UserLocationTrackingMode userLocationTrackingMode) {
+ this.userLocationTrackingMode = userLocationTrackingMode;
+ }
+
public boolean isFullyLoaded() {
return mNativeMapView.isFullyLoaded();
}
@@ -920,10 +913,6 @@ public class MapView extends FrameLayout implements LocationListener {
return false;
}
- if (trackingMode != 0) {
- setTrackingMode(0);
- }
-
// Cancel any animation
mNativeMapView.cancelTransitions(); // TODO need to test canceling
// transitions with touch
@@ -1612,11 +1601,9 @@ public class MapView extends FrameLayout implements LocationListener {
@Override
public void onClick(View view) {
- if(trackingMode == 2){
- setTrackingMode(0);
- }
resetNorth();
}
+
}
/**
@@ -1633,12 +1620,6 @@ public class MapView extends FrameLayout implements LocationListener {
private void updateLocation(Location location) {
if (location != null) {
mGpsLocation = location;
-
- // Update map position if in follow mode
- if (trackingMode != 0) {
- setCenterCoordinate(new LatLng(mGpsLocation));
- }
-
updateMap();
}
}
@@ -1683,7 +1664,7 @@ public class MapView extends FrameLayout implements LocationListener {
mGpsMarker.requestLayout();
// Update direction if tracking mode
- if(trackingMode == 2 && mCompassValid){
+ if(userLocationTrackingMode == UserLocationTrackingMode.FOLLOW_BEARING && mCompassValid){
// TODO need to do proper filtering (see branch filter-compass) or else map will lock up because of all the compass events
long t = new Date().getTime();
if((t-t0)>1000){
@@ -1693,6 +1674,15 @@ public class MapView extends FrameLayout implements LocationListener {
}
/*
+ // TODO - Too much overhead on main thread. Needs to be refactored before it
+ // can be re-enabled
+ // Update map position if NOT in NONE mode
+ if (userLocationTrackingMode != UserLocationTrackingMode.NONE) {
+ setCenterCoordinate(new LatLng(mGpsLocation));
+ }
+*/
+
+/*
// Used For User Location Bearing UI
if (mGpsLocation.hasBearing() || mCompassValid) {
mGpsMarker.setImageResource(R.drawable.direction_arrow);
@@ -1712,49 +1702,4 @@ public class MapView extends FrameLayout implements LocationListener {
}
}
}
-
- private class ToggleModeClickListener implements OnClickListener {
- @Override
- public void onClick(View v) {
- setTrackingMode((trackingMode + 1) % 3);
- }
- }
-
- public void setTrackingMode(int trackingMode) {
-
- this.trackingMode = trackingMode;
-
- switch (trackingMode) {
-
- case 0: {
- trackingModeButton.setImageDrawable(ResourcesCompat.getDrawable(getResources(), R.drawable.ic_my_location_black_24dp, mContext.getTheme()));
- trackingModeButton.setColorFilter(Color.TRANSPARENT);
- updateMap();
- }
- break;
-
- case 1: {
- trackingModeButton.setImageDrawable(ResourcesCompat.getDrawable(getResources(), R.drawable.ic_my_location_black_24dp, mContext.getTheme()));
- trackingModeButton.setColorFilter(Color.BLUE);
- if(mGpsLocation != null){
- setCenterCoordinate(new LatLng(mGpsLocation));
- }
- updateMap();
- }
- break;
-
- case 2: {
- trackingModeButton.setImageDrawable(ResourcesCompat.getDrawable(getResources(), R.drawable.ic_explore_black_24dp, mContext.getTheme()));
- trackingModeButton.setColorFilter(Color.BLUE);
- if(mGpsLocation != null){
- setCenterCoordinate(new LatLng(mGpsLocation));
- }
- updateMap();
- }
- break;
-
- default:
- break;
- }
- }
}
diff --git a/android/java/MapboxGLAndroidSDK/src/main/res/drawable-hdpi/ic_explore_black_24dp.png b/android/java/MapboxGLAndroidSDK/src/main/res/drawable-hdpi/ic_explore_black_24dp.png
deleted file mode 100644
index f4bc5acd00..0000000000
--- a/android/java/MapboxGLAndroidSDK/src/main/res/drawable-hdpi/ic_explore_black_24dp.png
+++ /dev/null
Binary files differ
diff --git a/android/java/MapboxGLAndroidSDK/src/main/res/drawable-hdpi/ic_my_location_black_24dp.png b/android/java/MapboxGLAndroidSDK/src/main/res/drawable-hdpi/ic_my_location_black_24dp.png
deleted file mode 100644
index 85e38726dd..0000000000
--- a/android/java/MapboxGLAndroidSDK/src/main/res/drawable-hdpi/ic_my_location_black_24dp.png
+++ /dev/null
Binary files differ
diff --git a/android/java/MapboxGLAndroidSDK/src/main/res/drawable-mdpi/ic_explore_black_24dp.png b/android/java/MapboxGLAndroidSDK/src/main/res/drawable-mdpi/ic_explore_black_24dp.png
deleted file mode 100644
index 3c9da64daa..0000000000
--- a/android/java/MapboxGLAndroidSDK/src/main/res/drawable-mdpi/ic_explore_black_24dp.png
+++ /dev/null
Binary files differ
diff --git a/android/java/MapboxGLAndroidSDK/src/main/res/drawable-mdpi/ic_my_location_black_24dp.png b/android/java/MapboxGLAndroidSDK/src/main/res/drawable-mdpi/ic_my_location_black_24dp.png
deleted file mode 100644
index 5684aa7dc5..0000000000
--- a/android/java/MapboxGLAndroidSDK/src/main/res/drawable-mdpi/ic_my_location_black_24dp.png
+++ /dev/null
Binary files differ
diff --git a/android/java/MapboxGLAndroidSDK/src/main/res/drawable-xhdpi/ic_explore_black_24dp.png b/android/java/MapboxGLAndroidSDK/src/main/res/drawable-xhdpi/ic_explore_black_24dp.png
deleted file mode 100644
index 2dbd112509..0000000000
--- a/android/java/MapboxGLAndroidSDK/src/main/res/drawable-xhdpi/ic_explore_black_24dp.png
+++ /dev/null
Binary files differ
diff --git a/android/java/MapboxGLAndroidSDK/src/main/res/drawable-xhdpi/ic_my_location_black_24dp.png b/android/java/MapboxGLAndroidSDK/src/main/res/drawable-xhdpi/ic_my_location_black_24dp.png
deleted file mode 100644
index 7faa3455f6..0000000000
--- a/android/java/MapboxGLAndroidSDK/src/main/res/drawable-xhdpi/ic_my_location_black_24dp.png
+++ /dev/null
Binary files differ
diff --git a/android/java/MapboxGLAndroidSDK/src/main/res/drawable-xxhdpi/ic_explore_black_24dp.png b/android/java/MapboxGLAndroidSDK/src/main/res/drawable-xxhdpi/ic_explore_black_24dp.png
deleted file mode 100644
index 11d4c89754..0000000000
--- a/android/java/MapboxGLAndroidSDK/src/main/res/drawable-xxhdpi/ic_explore_black_24dp.png
+++ /dev/null
Binary files differ
diff --git a/android/java/MapboxGLAndroidSDK/src/main/res/drawable-xxhdpi/ic_my_location_black_24dp.png b/android/java/MapboxGLAndroidSDK/src/main/res/drawable-xxhdpi/ic_my_location_black_24dp.png
deleted file mode 100644
index d3a1ab08c8..0000000000
--- a/android/java/MapboxGLAndroidSDK/src/main/res/drawable-xxhdpi/ic_my_location_black_24dp.png
+++ /dev/null
Binary files differ
diff --git a/android/java/MapboxGLAndroidSDK/src/main/res/drawable-xxxhdpi/ic_explore_black_24dp.png b/android/java/MapboxGLAndroidSDK/src/main/res/drawable-xxxhdpi/ic_explore_black_24dp.png
deleted file mode 100644
index 684d282b86..0000000000
--- a/android/java/MapboxGLAndroidSDK/src/main/res/drawable-xxxhdpi/ic_explore_black_24dp.png
+++ /dev/null
Binary files differ
diff --git a/android/java/MapboxGLAndroidSDK/src/main/res/drawable-xxxhdpi/ic_my_location_black_24dp.png b/android/java/MapboxGLAndroidSDK/src/main/res/drawable-xxxhdpi/ic_my_location_black_24dp.png
deleted file mode 100644
index 0812b0e31d..0000000000
--- a/android/java/MapboxGLAndroidSDK/src/main/res/drawable-xxxhdpi/ic_my_location_black_24dp.png
+++ /dev/null
Binary files differ
diff --git a/android/java/MapboxGLAndroidSDK/src/main/res/values/strings.xml b/android/java/MapboxGLAndroidSDK/src/main/res/values/strings.xml
index 78e20893b6..df022a4679 100644
--- a/android/java/MapboxGLAndroidSDK/src/main/res/values/strings.xml
+++ b/android/java/MapboxGLAndroidSDK/src/main/res/values/strings.xml
@@ -1,5 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="compassContentDescription">Map compass. Click to reset the map rotation to North.</string>
- <string name="trackingModeButtonContentDescription">Press button to toggle tracking modes (None, Follow, FollowWithHeading)</string>
</resources>
diff --git a/android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxgl/testapp/MainActivity.java b/android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxgl/testapp/MainActivity.java
index df524f9905..0deeeee298 100644
--- a/android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxgl/testapp/MainActivity.java
+++ b/android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxgl/testapp/MainActivity.java
@@ -2,13 +2,18 @@ package com.mapbox.mapboxgl.testapp;
import android.graphics.Color;
import android.graphics.PointF;
+import android.location.Location;
import android.os.Bundle;
-import android.support.v7.app.ActionBarActivity;
+import android.support.annotation.NonNull;
+import android.support.design.widget.FloatingActionButton;
+import android.support.design.widget.NavigationView;
+import android.support.v4.view.GravityCompat;
+import android.support.v4.widget.DrawerLayout;
+import android.support.v7.app.ActionBar;
+import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.util.Log;
import android.view.GestureDetector;
-import android.view.Menu;
-import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.MotionEvent;
import android.view.View;
@@ -27,13 +32,12 @@ import com.mapbox.mapboxgl.annotations.PolylineOptions;
import com.mapbox.mapboxgl.geometry.LatLng;
import com.mapbox.mapboxgl.views.MapView;
import io.fabric.sdk.android.Fabric;
-import org.json.JSONException;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
-public class MainActivity extends ActionBarActivity {
+public class MainActivity extends AppCompatActivity {
private static final String TAG = "MainActivity";
@@ -49,6 +53,7 @@ public class MainActivity extends ActionBarActivity {
//
// Used for the UI
+ private DrawerLayout mDrawerLayout;
private MapView mapView;
private TextView mFpsTextView;
private FrameLayout mMapFrameLayout;
@@ -58,10 +63,10 @@ public class MainActivity extends ActionBarActivity {
private ArrayAdapter mSatelliteClassAdapter;
// Used for GPS
- private MenuItem mGpsMenuItem;
+ private FloatingActionButton locationFAB;
- // Used for markers
- private boolean mIsMarkersOn = false;
+ // Used for Annotations
+ private boolean mIsAnnotationsOn = false;
private Marker marker;
@@ -79,6 +84,21 @@ public class MainActivity extends ActionBarActivity {
// Load the layout
setContentView(R.layout.activity_main);
+
+ Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
+ setSupportActionBar(toolbar);
+
+ final ActionBar ab = getSupportActionBar();
+ ab.setHomeAsUpIndicator(R.drawable.ic_menu);
+ ab.setDisplayHomeAsUpEnabled(true);
+
+ mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
+
+ NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
+ if (navigationView != null) {
+ setupDrawerContent(navigationView);
+ }
+
mapView = (MapView) findViewById(R.id.mainMapView);
// Load the access token
try {
@@ -93,6 +113,9 @@ public class MainActivity extends ActionBarActivity {
mapView.setOnFpsChangedListener(new MyOnFpsChangedListener());
mapView.addOnMapChangedListener(new MyOnMapChangedListener());
+ changeMapStyle(getString(R.string.styleURLMapboxStreets));
+ navigationView.getMenu().findItem(R.id.actionStyleMapboxStreets).setChecked(true);
+
final GestureDetector gestureDetector = new GestureDetector(this, new GestureDetector.SimpleOnGestureListener() {
public void onLongPress(final MotionEvent e) {
float x = e.getX();
@@ -119,23 +142,30 @@ public class MainActivity extends ActionBarActivity {
mFpsTextView = (TextView) findViewById(R.id.view_fps);
mFpsTextView.setText("");
- mMapFrameLayout = (FrameLayout) findViewById(R.id.layout_map);
- // Add a toolbar as the action bar
- Toolbar mainToolbar = (Toolbar) findViewById(R.id.toolbar_main);
- setSupportActionBar(mainToolbar);
- getSupportActionBar().setDisplayShowTitleEnabled(false);
+// mMapFrameLayout = (FrameLayout) findViewById(R.id.layout_map);
- // Add the spinner to select map styles
- Spinner styleSpinner = (Spinner) findViewById(R.id.spinner_style);
- ArrayAdapter styleAdapter = ArrayAdapter.createFromResource(getSupportActionBar().getThemedContext(),
- R.array.style_list, android.R.layout.simple_spinner_dropdown_item);
- styleSpinner.setAdapter(styleAdapter);
- styleSpinner.setOnItemSelectedListener(new StyleSpinnerListener());
+ locationFAB = (FloatingActionButton)findViewById(R.id.locationFAB);
+ locationFAB.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ // Toggle GPS position updates
+ toggleGps(!mapView.isMyLocationEnabled());
+ updateMap();
+// Snackbar.make(v, "Snack time!", Snackbar.LENGTH_LONG).show();
+ }
+ });
+/*
// Add the spinner to select class styles
mClassSpinner = (Spinner) findViewById(R.id.spinner_class);
mOutdoorsClassAdapter = ArrayAdapter.createFromResource(getSupportActionBar().getThemedContext(),
R.array.outdoors_class_list, android.R.layout.simple_spinner_dropdown_item);
+*/
+
+ // Set default UI state
+ navigationView.getMenu().findItem(R.id.action_compass).setChecked(mapView.isCompassEnabled());
+ navigationView.getMenu().findItem(R.id.action_debug).setChecked(mapView.isDebugActive());
+ navigationView.getMenu().findItem(R.id.action_markers).setChecked(mIsAnnotationsOn);
if (savedInstanceState != null) {
mapView.setMyLocationEnabled(savedInstanceState.getBoolean(STATE_IS_GPS_ON, false));
@@ -207,56 +237,102 @@ public class MainActivity extends ActionBarActivity {
// Other events
//
- // Adds items to the action bar menu
- @Override
- public boolean onCreateOptionsMenu(Menu menu) {
- MenuInflater inflater = getMenuInflater();
- inflater.inflate(R.menu.menu_main, menu);
- mGpsMenuItem = menu.findItem(R.id.action_gps);
- if (mapView.isMyLocationEnabled()) {
- mGpsMenuItem.setIcon(R.drawable.ic_action_location_found);
- } else {
- mGpsMenuItem.setIcon(R.drawable.ic_action_location_searching);
- }
- return super.onCreateOptionsMenu(menu);
- }
-
// Called when pressing action bar items
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
- case R.id.action_gps:
- // Toggle GPS position updates
- toggleGps(!mapView.isMyLocationEnabled());
- updateMap();
+ case android.R.id.home:
+ mDrawerLayout.openDrawer(GravityCompat.START);
return true;
+ default:
+ return super.onOptionsItemSelected(item);
+ }
+ }
- case R.id.action_debug:
- // Toggle debug mode
- mapView.toggleDebug();
+ private void setupDrawerContent(NavigationView navigationView) {
+ navigationView.setNavigationItemSelectedListener(
+ new NavigationView.OnNavigationItemSelectedListener() {
+ @Override
+ public boolean onNavigationItemSelected(MenuItem menuItem) {
+ mDrawerLayout.closeDrawers();
+
+ // Respond To Selection
+ switch (menuItem.getItemId()) {
+
+ case R.id.action_debug:
+ // Toggle debug mode
+ mapView.toggleDebug();
+
+ menuItem.setChecked(mapView.isDebugActive());
+
+ // Show the FPS counter
+ if (mapView.isDebugActive()) {
+ mFpsTextView.setVisibility(View.VISIBLE);
+ mFpsTextView.setText(getResources().getString(R.string.label_fps));
+ } else {
+ mFpsTextView.setVisibility(View.INVISIBLE);
+ }
+ break;
+
+ case R.id.action_markers:
+ // Toggle markers
+ toggleAnnotations(!mIsAnnotationsOn);
+ menuItem.setChecked(mIsAnnotationsOn);
+ break;
+
+ case R.id.action_compass:
+ // Toggle compass
+ mapView.setCompassEnabled(!mapView.isCompassEnabled());
+ menuItem.setChecked(mapView.isCompassEnabled());
+ break;
- // Show the FPS counter
- if (mapView.isDebugActive()) {
- mFpsTextView.setVisibility(View.VISIBLE);
- mFpsTextView.setText(getResources().getString(R.string.label_fps));
- } else {
- mFpsTextView.setVisibility(View.INVISIBLE);
- }
- return true;
+/*
+ case R.id.followNone:
+ mapView.setUserLocationTrackingMode(MapView.UserLocationTrackingMode.NONE);
+ break;
- case R.id.action_markers:
- // Toggle markers
- toggleMarkers(!mIsMarkersOn);
- return true;
+ case R.id.followFollow:
+ mapView.setUserLocationTrackingMode(MapView.UserLocationTrackingMode.FOLLOW);
+ break;
- case R.id.action_compass:
- // Toggle compass
- mapView.setCompassEnabled(!mapView.isCompassEnabled());
- return true;
+ case R.id.followBearing:
+ mapView.setUserLocationTrackingMode(MapView.UserLocationTrackingMode.FOLLOW_BEARING);
+ break;
+*/
- default:
- return super.onOptionsItemSelected(item);
- }
+ case R.id.actionStyleMapboxStreets:
+ changeMapStyle(getString(R.string.styleURLMapboxStreets));
+ menuItem.setChecked(true);
+ break;
+
+ case R.id.actionStyleEmerald:
+ changeMapStyle(getString(R.string.styleURLEmerald));
+ menuItem.setChecked(true);
+ break;
+
+ case R.id.actionStyleLight:
+ changeMapStyle(getString(R.string.styleURLLight));
+ menuItem.setChecked(true);
+ break;
+
+ case R.id.actionStyleDark:
+ changeMapStyle(getString(R.string.styleURLDark));
+ menuItem.setChecked(true);
+ break;
+
+ case R.id.actionStyleSatellite:
+ changeMapStyle(getString(R.string.styleURLSatellite));
+ menuItem.setChecked(true);
+ break;
+ }
+
+ return true;
+ }
+ });
+ }
+
+ private void changeMapStyle(@NonNull String styleURL) {
+ mapView.setStyleUrl(styleURL);
}
/**
@@ -268,36 +344,39 @@ public class MainActivity extends ActionBarActivity {
if (enableGps) {
if (!mapView.isMyLocationEnabled()) {
mapView.setMyLocationEnabled(enableGps);
- if (mGpsMenuItem != null) {
- mGpsMenuItem.setIcon(R.drawable.ic_action_location_found);
+ Location location = mapView.getMyLocation();
+ if (location != null) {
+ mapView.setZoomLevel(8);
+ mapView.setCenterCoordinate(new LatLng(location));
}
+ locationFAB.setColorFilter(getResources().getColor(R.color.primary));
}
} else {
if (mapView.isMyLocationEnabled()) {
mapView.setMyLocationEnabled(enableGps);
- if (mGpsMenuItem != null) {
- mGpsMenuItem.setIcon(R.drawable.ic_action_location_searching);
- }
+ locationFAB.setColorFilter(Color.TRANSPARENT);
}
}
}
/**
- * Enable / Disable markers.
+ * Enable / Disable Annotations.
*
- * @param enableMarkers
+ * @param enableAnnotations True to display, False to hide
*/
- private void toggleMarkers(boolean enableMarkers) {
- if (enableMarkers) {
- if (!mIsMarkersOn) {
- mIsMarkersOn = true;
+ private void toggleAnnotations(boolean enableAnnotations) {
+ if (enableAnnotations) {
+ if (!mIsAnnotationsOn) {
+ mIsAnnotationsOn = true;
addMarkers();
addPolyline();
addPolygon();
+ mapView.setZoomLevel(7);
+ mapView.setCenterCoordinate(new LatLng(38.11727, -122.22839));
}
} else {
- if (mIsMarkersOn) {
- mIsMarkersOn = false;
+ if (mIsAnnotationsOn) {
+ mIsAnnotationsOn = false;
removeAnnotations();
}
}
@@ -328,9 +407,8 @@ public class MainActivity extends ActionBarActivity {
.add(latLngs)
.width(2)
.color(Color.RED));
- } catch (IOException e) {
- e.printStackTrace();
- } catch (JSONException e) {
+ } catch (Exception e) {
+ Log.e(TAG, "Error adding Polyline: "+ e);
e.printStackTrace();
}
}
@@ -347,9 +425,8 @@ public class MainActivity extends ActionBarActivity {
.strokeColor(Color.MAGENTA)
.fillColor(Color.BLUE));
Polygon polygon = map.addPolygons(opts).get(0);
- } catch (IOException e) {
- e.printStackTrace();
- } catch (JSONException e) {
+ } catch (Exception e) {
+ Log.e(TAG, "Error adding Polygon: "+ e);
e.printStackTrace();
}
}
@@ -358,70 +435,6 @@ public class MainActivity extends ActionBarActivity {
mapView.removeAnnotations();
}
- // This class handles style change events
- private class StyleSpinnerListener implements AdapterView.OnItemSelectedListener {
-
- @Override
- public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
- switch (position) {
-
- // Mapbox Streets
- case 0:
- mapView.setStyleUrl("asset://styles/mapbox-streets-v7.json");
- mapView.removeAllStyleClasses();
- mClassSpinner.setVisibility(View.INVISIBLE);
- mClassSpinner.setAdapter(null);
- mClassSpinner.setOnItemSelectedListener(null);
- break;
-
- // Emerald
- case 1:
- mapView.setStyleUrl("asset://styles/emerald-v7.json");
- mapView.removeAllStyleClasses();
- mClassSpinner.setVisibility(View.INVISIBLE);
- mClassSpinner.setAdapter(null);
- mClassSpinner.setOnItemSelectedListener(null);
- break;
-
- // Light
- case 2:
- mapView.setStyleUrl("asset://styles/light-v7.json");
- mapView.removeAllStyleClasses();
- mClassSpinner.setVisibility(View.INVISIBLE);
- mClassSpinner.setAdapter(null);
- mClassSpinner.setOnItemSelectedListener(null);
- break;
-
- // Dark
- case 3:
- mapView.setStyleUrl("asset://styles/dark-v7.json");
- mapView.removeAllStyleClasses();
- mClassSpinner.setVisibility(View.INVISIBLE);
- mClassSpinner.setAdapter(null);
- mClassSpinner.setOnItemSelectedListener(null);
- break;
-
- // Outdoors
- case 4:
- mapView.setStyleUrl("asset://styles/outdoors-v7.json");
- mapView.removeAllStyleClasses();
- mClassSpinner.setVisibility(View.VISIBLE);
- mClassSpinner.setAdapter(mOutdoorsClassAdapter);
- mClassSpinner.setOnItemSelectedListener(new OutdoorClassSpinnerListener());
- break;
-
- default:
- onNothingSelected(parent);
- break;
- }
- }
-
- @Override
- public void onNothingSelected(AdapterView<?> parent) {
- mapView.setStyleUrl("");
- }
- }
-
// This class handles outdoor class change events
private class OutdoorClassSpinnerListener implements AdapterView.OnItemSelectedListener {
diff --git a/android/java/MapboxGLAndroidSDKTestApp/src/main/res/drawable-hdpi/ic_menu.png b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/drawable-hdpi/ic_menu.png
new file mode 100644
index 0000000000..8962cbd91f
--- /dev/null
+++ b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/drawable-hdpi/ic_menu.png
Binary files differ
diff --git a/android/java/MapboxGLAndroidSDKTestApp/src/main/res/drawable-hdpi/ic_my_location_white_24dp.png b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/drawable-hdpi/ic_my_location_white_24dp.png
new file mode 100644
index 0000000000..745db489be
--- /dev/null
+++ b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/drawable-hdpi/ic_my_location_white_24dp.png
Binary files differ
diff --git a/android/java/MapboxGLAndroidSDKTestApp/src/main/res/drawable-mdpi/ic_menu.png b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/drawable-mdpi/ic_menu.png
new file mode 100644
index 0000000000..c62db8c865
--- /dev/null
+++ b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/drawable-mdpi/ic_menu.png
Binary files differ
diff --git a/android/java/MapboxGLAndroidSDKTestApp/src/main/res/drawable-mdpi/ic_my_location_white_24dp.png b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/drawable-mdpi/ic_my_location_white_24dp.png
new file mode 100644
index 0000000000..d1c563cc9f
--- /dev/null
+++ b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/drawable-mdpi/ic_my_location_white_24dp.png
Binary files differ
diff --git a/android/java/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xhdpi/ic_menu.png b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xhdpi/ic_menu.png
new file mode 100644
index 0000000000..36859f094a
--- /dev/null
+++ b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xhdpi/ic_menu.png
Binary files differ
diff --git a/android/java/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xhdpi/ic_my_location_white_24dp.png b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xhdpi/ic_my_location_white_24dp.png
new file mode 100644
index 0000000000..ffab865d95
--- /dev/null
+++ b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xhdpi/ic_my_location_white_24dp.png
Binary files differ
diff --git a/android/java/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxhdpi/ic_menu.png b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxhdpi/ic_menu.png
new file mode 100644
index 0000000000..1a5109828f
--- /dev/null
+++ b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxhdpi/ic_menu.png
Binary files differ
diff --git a/android/java/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxhdpi/ic_my_location_white_24dp.png b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxhdpi/ic_my_location_white_24dp.png
new file mode 100644
index 0000000000..387ecdfbcb
--- /dev/null
+++ b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxhdpi/ic_my_location_white_24dp.png
Binary files differ
diff --git a/android/java/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxxhdpi/ic_menu.png b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxxhdpi/ic_menu.png
new file mode 100644
index 0000000000..c15d634671
--- /dev/null
+++ b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxxhdpi/ic_menu.png
Binary files differ
diff --git a/android/java/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxxhdpi/ic_my_location_white_24dp.png b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxxhdpi/ic_my_location_white_24dp.png
new file mode 100644
index 0000000000..c55220a5fe
--- /dev/null
+++ b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxxhdpi/ic_my_location_white_24dp.png
Binary files differ
diff --git a/android/java/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_main.xml b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_main.xml
index 0cf914a066..305f15afee 100644
--- a/android/java/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_main.xml
+++ b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_main.xml
@@ -1,59 +1,70 @@
<?xml version="1.0" encoding="utf-8"?>
-<LinearLayout
+
+<android.support.v4.widget.DrawerLayout
+ android:id="@+id/drawer_layout"
xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:mapbox="http://schemas.android.com/apk/res-auto"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:orientation="vertical">
+ android:fitsSystemWindows="true">
- <android.support.v7.widget.Toolbar
- android:id="@+id/toolbar_main"
- android:layout_height="wrap_content"
- android:layout_width="match_parent"
- android:minHeight="?attr/actionBarSize"
- android:background="?attr/colorPrimary">
-
- <Spinner
- android:id="@+id/spinner_style"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content" />
-
- <Spinner
- android:id="@+id/spinner_class"
- android:visibility="invisible"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content" />
- </android.support.v7.widget.Toolbar>
-
- <FrameLayout
- android:id="@+id/layout_map"
+ <RelativeLayout
android:layout_width="match_parent"
- android:layout_height="fill_parent"
- android:orientation="vertical">
+ android:layout_height="match_parent">
-<!--
- <fragment
- android:name="com.mapbox.mapboxgl.testapp.MapFragment"
- android:id="@+id/fragment_map"
+ <android.support.v7.widget.Toolbar
+ android:id="@+id/toolbar"
android:layout_width="match_parent"
- android:layout_height="match_parent"
- tools:context="${packageName}.${activityClass}"
- tools:layout="@layout/fragment_main" />
--->
+ android:layout_height="wrap_content"
+ android:background="?attr/colorPrimary"
+ android:minHeight="?attr/actionBarSize"
+ android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"/>
- <com.mapbox.mapboxgl.views.MapView
- android:id="@+id/mainMapView"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- />
+ <FrameLayout
+ android:id="@+id/content_frame"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:layout_below="@+id/toolbar">
- <TextView
- android:id="@+id/view_fps"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:textAppearance="?android:attr/textAppearanceLarge"
- android:text="@string/label_fps"
- android:layout_margin="10dp" />
+ <android.support.design.widget.CoordinatorLayout
+ android:layout_width="match_parent"
+ android:layout_height="match_parent">
+
+ <com.mapbox.mapboxgl.views.MapView
+ android:id="@+id/mainMapView"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ />
+
+ <TextView
+ android:id="@+id/view_fps"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_margin="10dp"
+ android:text="@string/label_fps"
+ android:textAppearance="?android:attr/textAppearanceLarge"/>
+
+
+ <android.support.design.widget.FloatingActionButton
+ android:id="@+id/locationFAB"
+ android:src="@drawable/ic_my_location_white_24dp"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="end|bottom"
+ android:layout_margin="@dimen/fab_margin"
+ />
+ </android.support.design.widget.CoordinatorLayout>
+
+ </FrameLayout>
+
+ </RelativeLayout>
+
+ <android.support.design.widget.NavigationView
+ android:id="@+id/nav_view"
+ android:layout_width="wrap_content"
+ android:layout_height="match_parent"
+ android:layout_gravity="start"
+ android:fitsSystemWindows="true"
+ app:menu="@menu/menu_drawer"/>
- </FrameLayout>
-</LinearLayout>
+</android.support.v4.widget.DrawerLayout>
diff --git a/android/java/MapboxGLAndroidSDKTestApp/src/main/res/menu/menu_drawer.xml b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/menu/menu_drawer.xml
new file mode 100644
index 0000000000..7244fa09bb
--- /dev/null
+++ b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/menu/menu_drawer.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="utf-8"?>
+<menu xmlns:android="http://schemas.android.com/apk/res/android">
+
+ <item
+ android:id="@+id/action_debug"
+ android:icon="@drawable/ic_action_about"
+ android:title="@string/action_debug"
+ android:checkable="true"
+ />
+ <item
+ android:id="@+id/action_markers"
+ android:icon="@android:drawable/ic_menu_myplaces"
+ android:title="@string/action_point_annotations"
+ android:checkable="true"
+ />
+ <item android:id="@+id/action_compass"
+ android:icon="@drawable/ic_explore_white_24dp"
+ android:title="@string/action_compass"
+ android:checkable="true"
+ />
+
+<!--
+ <group android:id="@+id/locationFollowModesSeparator"/>
+
+ <group android:id="@+id/locationFollowModes" android:checkableBehavior="single">
+ <item android:id="@+id/followNone"
+ android:title="@string/action_location_none"/>
+ <item android:id="@+id/followFollow"
+ android:title="@string/action_location_follow"/>
+ <item android:id="@+id/followBearing"
+ android:title="@string/action_location_bearing"/>
+ </group>
+-->
+
+ <group android:id="@+id/stylesSeparator"/>
+
+ <group android:id="@+id/stylesGroup" android:checkableBehavior="single">
+ <item
+ android:id="@+id/actionStyleMapboxStreets"
+ android:title="@string/styleMapboxStreets" />
+ <item
+ android:id="@+id/actionStyleEmerald"
+ android:title="@string/styleEmerald" />
+ <item
+ android:id="@+id/actionStyleLight"
+ android:title="@string/styleLight" />
+ <item
+ android:id="@+id/actionStyleDark"
+ android:title="@string/styleDark" />
+ <item
+ android:id="@+id/actionStyleSatellite"
+ android:title="@string/styleSatellite" />
+ </group>
+
+</menu>
diff --git a/android/java/MapboxGLAndroidSDKTestApp/src/main/res/menu/menu_main.xml b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/menu/menu_main.xml
index b682fe0cb4..014fa25d67 100644
--- a/android/java/MapboxGLAndroidSDKTestApp/src/main/res/menu/menu_main.xml
+++ b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/menu/menu_main.xml
@@ -1,19 +1,3 @@
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto">
- <item android:id="@+id/action_debug"
- android:icon="@drawable/ic_action_about"
- android:title="@string/action_debug"
- app:showAsAction="ifRoom" />
- <item android:id="@+id/action_markers"
- android:icon="@android:drawable/ic_menu_myplaces"
- android:title="@string/action_point_annotations"
- app:showAsAction="ifRoom" />
- <item android:id="@+id/action_gps"
- android:icon="@drawable/ic_action_location_searching"
- android:title="@string/action_gps"
- app:showAsAction="ifRoom" />
- <item android:id="@+id/action_compass"
- android:icon="@drawable/ic_explore_white_24dp"
- android:title="@string/action_compass"
- app:showAsAction="ifRoom"/>
</menu>
diff --git a/android/java/MapboxGLAndroidSDKTestApp/src/main/res/values/colors.xml b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/values/colors.xml
new file mode 100644
index 0000000000..ac3b4fc30d
--- /dev/null
+++ b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/values/colors.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <color name="primary">#1E8CAB</color>
+ <color name="primaryDark">#166B83</color>
+ <color name="accent">#E55E5E</color>
+ <color name="white">#FFFFFF</color>
+</resources>
diff --git a/android/java/MapboxGLAndroidSDKTestApp/src/main/res/values/dimens.xml b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/values/dimens.xml
new file mode 100644
index 0000000000..f76eef07c3
--- /dev/null
+++ b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/values/dimens.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <dimen name="fab_margin">16dp</dimen>
+</resources>
diff --git a/android/java/MapboxGLAndroidSDKTestApp/src/main/res/values/strings.xml b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/values/strings.xml
index 0022fe0455..a26fa55e71 100644
--- a/android/java/MapboxGLAndroidSDKTestApp/src/main/res/values/strings.xml
+++ b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/values/strings.xml
@@ -4,20 +4,26 @@
<string name="app_name">Mapbox GL</string>
<string name="action_gps">Toggle GPS location</string>
+ <string name="action_location_none">Toggle Location Bearing Tracking</string>
+ <string name="action_location_follow">Follow</string>
+ <string name="action_location_bearing">Bearing</string>
<string name="action_compass">Toggle Compass</string>
-
<string name="action_debug">Toggle debug mode</string>
-
<string name="action_point_annotations">Toggle point annotations</string>
<string name="label_fps">FPS:</string>
- <string-array name="style_list">
- <item>Mapbox Streets</item>
- <item>Emerald</item>
- <item>Light</item>
- <item>Dark</item>
- </string-array>
+ <string name="styleMapboxStreets">Mapbox Streets</string>
+ <string name="styleEmerald">Emerald</string>
+ <string name="styleLight">Light</string>
+ <string name="styleDark">Dark</string>
+ <string name="styleSatellite">Satellite</string>
+
+ <string name="styleURLMapboxStreets">asset://styles/mapbox-streets-v7.json</string>
+ <string name="styleURLEmerald">asset://styles/emerald-v7.json</string>
+ <string name="styleURLLight">asset://styles/light-v7.json</string>
+ <string name="styleURLDark">asset://styles/dark-v7.json</string>
+ <string name="styleURLSatellite">asset://styles/satellite-v7.json</string>
<string-array name="outdoors_class_list">
<item>Day</item>
diff --git a/android/java/MapboxGLAndroidSDKTestApp/src/main/res/values/styles.xml b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/values/styles.xml
index 2399c78bee..200665796e 100644
--- a/android/java/MapboxGLAndroidSDKTestApp/src/main/res/values/styles.xml
+++ b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/values/styles.xml
@@ -1,5 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
- <style name="AppBaseTheme" parent="@style/Theme.AppCompat.Light.NoActionBar" />
+
<style name="AppTheme" parent="AppBaseTheme" />
+
+ <style name="AppBaseTheme" parent="@style/Theme.AppCompat.Light.NoActionBar">
+ <item name="colorPrimary">@color/primary</item>
+ <item name="colorPrimaryDark">@color/primaryDark</item>
+ <item name="colorAccent">@color/accent</item>
+ <item name="android:windowBackground">@color/white</item>
+ </style>
+
</resources>
diff --git a/src/mbgl/util/geojsonvt b/src/mbgl/util/geojsonvt
-Subproject 995ffc72c556da4b4880a6036fbcf7159fc5ecc
+Subproject ed99a6290fa42107a982e7f3675aae49d29026b