diff options
author | Brad Leege <bleege@gmail.com> | 2015-10-08 16:00:17 -0500 |
---|---|---|
committer | Brad Leege <bleege@gmail.com> | 2015-10-08 16:43:56 -0500 |
commit | 8e324ddb213075b57548181eb12383b3a85d548f (patch) | |
tree | 917c9fb7524d7e5e389bcda29f96fc6dccb123ce /android | |
parent | 709c4fdcee7c84a2e6aec7c03b004497ee89e165 (diff) | |
download | qtlocation-mapboxgl-8e324ddb213075b57548181eb12383b3a85d548f.tar.gz |
[android] #2519 - Basic GUI infrastructure for Press For Marker test setup
Diffstat (limited to 'android')
6 files changed, 160 insertions, 0 deletions
diff --git a/android/java/MapboxGLAndroidSDKTestApp/src/main/AndroidManifest.xml b/android/java/MapboxGLAndroidSDKTestApp/src/main/AndroidManifest.xml index dfd43694ff..f76ffe266e 100644 --- a/android/java/MapboxGLAndroidSDKTestApp/src/main/AndroidManifest.xml +++ b/android/java/MapboxGLAndroidSDKTestApp/src/main/AndroidManifest.xml @@ -33,6 +33,9 @@ android:name=".MapFragmentActivity" android:label="@string/activity_map_fragment" /> + <activity android:name=".PressForMarkerActivity" + android:label="@string/activity_press_for_marker"/> + <meta-data android:name="io.fabric.ApiKey" android:value="9724157045ff7d083492c6d9ae03e60e8609d461" /> diff --git a/android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/MainActivity.java b/android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/MainActivity.java index ee0aba0081..dadaba503e 100644 --- a/android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/MainActivity.java +++ b/android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/MainActivity.java @@ -287,6 +287,11 @@ public class MainActivity extends AppCompatActivity { case R.id.action_map_fragment: startActivity(new Intent(getApplicationContext(), MapFragmentActivity.class)); return true; + + case R.id.action_press_for_marker: + startActivity(new Intent(getApplicationContext(), PressForMarkerActivity.class)); + return true; + /* case R.id.followNone: mMapView.setUserLocationTrackingMode(MapView.UserLocationTrackingMode.NONE); diff --git a/android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/PressForMarkerActivity.java b/android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/PressForMarkerActivity.java new file mode 100644 index 0000000000..5b8447663c --- /dev/null +++ b/android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/PressForMarkerActivity.java @@ -0,0 +1,126 @@ +package com.mapbox.mapboxsdk.testapp; + +import android.graphics.PointF; +import android.os.Bundle; +import android.support.v7.app.ActionBar; +import android.support.v7.app.AppCompatActivity; +import android.support.v7.widget.Toolbar; +import android.view.GestureDetector; +import android.view.MenuItem; +import android.view.MotionEvent; +import android.view.View; +import com.mapbox.mapboxsdk.annotations.Marker; +import com.mapbox.mapboxsdk.annotations.MarkerOptions; +import com.mapbox.mapboxsdk.geometry.LatLng; +import com.mapbox.mapboxsdk.utils.ApiAccess; +import com.mapbox.mapboxsdk.views.MapView; + +public class PressForMarkerActivity extends AppCompatActivity { + + private static final String TAG = "PressForMarkerActivity"; + + private MapView mMapView; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_press_for_marker); + + Toolbar toolbar = (Toolbar) findViewById(R.id.secondToolBar); + setSupportActionBar(toolbar); + + ActionBar actionBar = getSupportActionBar(); + if (actionBar != null) { + actionBar.setDisplayHomeAsUpEnabled(true); + actionBar.setDisplayShowHomeEnabled(true); + } + + mMapView = (MapView) findViewById(R.id.pressForMarkerMapView); + mMapView.setAccessToken(ApiAccess.getToken(this)); + mMapView.setStyleUrl(MapView.StyleUrls.MAPBOX_STREETS); + mMapView.onCreate(savedInstanceState); + + + mMapView.setCenterCoordinate(new LatLng(47.798202, 7.573781)); + mMapView.setZoomLevel(4); + + + final GestureDetector gestureDetector = new GestureDetector(this, new GestureDetector.SimpleOnGestureListener() { + public void onLongPress(final MotionEvent e) { + float x = e.getX(); + float y = e.getY(); + + final LatLng position = mMapView.fromScreenLocation(new PointF(x, y)); + + Marker marker = mMapView.addMarker(new MarkerOptions() + .position(position) + .title("Dropped Pin") + .snippet("Tap for directions") + .sprite("default_marker")); + } + }); + + mMapView.setOnTouchListener(new View.OnTouchListener() { + public boolean onTouch(View v, MotionEvent event) { + return gestureDetector.onTouchEvent(event); + } + }); + } + + /** + * Dispatch onStart() to all fragments. Ensure any created loaders are + * now started. + */ + @Override + protected void onStart() { + super.onStart(); + mMapView.onStart(); + } + + @Override + protected void onStop() { + super.onStop(); + mMapView.onStop(); + } + + // Called when our app goes into the background + @Override + public void onPause() { + super.onPause(); + + mMapView.onPause(); + } + + // Called when our app comes into the foreground + @Override + public void onResume() { + super.onResume(); + + mMapView.onResume(); + } + + @Override + protected void onDestroy() { + super.onDestroy(); + mMapView.onDestroy(); + } + + // Called when the system is running low on memory + @Override + public void onLowMemory() { + super.onLowMemory(); + + mMapView.onLowMemory(); + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + switch (item.getItemId()) { + case android.R.id.home: + onBackPressed(); + return true; + default: + return super.onOptionsItemSelected(item); + } + } +} diff --git a/android/java/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_press_for_marker.xml b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_press_for_marker.xml new file mode 100644 index 0000000000..91dd13e741 --- /dev/null +++ b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_press_for_marker.xml @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="utf-8"?> +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:orientation="vertical" + android:layout_width="match_parent" + android:layout_height="match_parent"> + + <android.support.v7.widget.Toolbar + android:id="@+id/secondToolBar" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:background="@color/primary" + android:minHeight="?attr/actionBarSize" + android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"/> + + <com.mapbox.mapboxsdk.views.MapView + android:id="@+id/pressForMarkerMapView" + android:layout_width="match_parent" + android:layout_height="match_parent" /> + +</LinearLayout> diff --git a/android/java/MapboxGLAndroidSDKTestApp/src/main/res/menu/menu_drawer.xml b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/menu/menu_drawer.xml index 8d1bb289bc..1a1c1d8307 100644 --- a/android/java/MapboxGLAndroidSDKTestApp/src/main/res/menu/menu_drawer.xml +++ b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/menu/menu_drawer.xml @@ -84,6 +84,9 @@ android:checkable="false" android:icon="@drawable/ic_widgets_white_24dp" android:title="@string/action_map_fragment" /> + + <item android:id="@+id/action_press_for_marker" + android:title="@string/action_press_for_marker"/> </menu> </item> diff --git a/android/java/MapboxGLAndroidSDKTestApp/src/main/res/values/strings.xml b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/values/strings.xml index e3e8d38adb..139aa5f11b 100644 --- a/android/java/MapboxGLAndroidSDKTestApp/src/main/res/values/strings.xml +++ b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/values/strings.xml @@ -3,8 +3,10 @@ <string name="app_name">Mapbox GL</string> + <!-- Test Activities --> <string name="activity_infowindow_adapter">InfoWindow Adapter</string> <string name="activity_map_fragment">Map Fragment Activity</string> + <string name="activity_press_for_marker">Press For Marker Activity</string> <string name="navdrawer_menu_title_mainactivity_controls">Main Activity Controls</string> <string name="navdrawer_menu_title_mainactivity_styles">Main Activity Styles</string> @@ -18,6 +20,7 @@ <string name="action_point_annotations">Toggle point annotations</string> <string name="action_info_window_adapter">InfoWindow Adapter</string> <string name="action_map_fragment">MapFragment</string> + <string name="action_press_for_marker">Press For Marker</string> <string name="label_fps">FPS:</string> |