add setSetVisibleCoordinateBounds api as already in iOS

This commit is contained in:
Manabu-GT
2015-10-05 02:57:26 +09:00
committed by Manabu Shimobe
parent 927b4c6dbe
commit 84c8d1fd6e
9 changed files with 257 additions and 21 deletions

View File

@@ -4,6 +4,7 @@ import android.Manifest;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.graphics.Color;
import android.graphics.RectF;
import android.location.Location;
import android.os.Bundle;
import android.support.annotation.NonNull;
@@ -21,10 +22,8 @@ import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.util.Log;
import android.view.MenuItem;
import android.view.MotionEvent;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;
import com.crashlytics.android.Crashlytics;
import com.mapbox.mapboxsdk.annotations.Marker;
import com.mapbox.mapboxsdk.annotations.MarkerOptions;
@@ -32,6 +31,7 @@ import com.mapbox.mapboxsdk.annotations.PolygonOptions;
import com.mapbox.mapboxsdk.annotations.PolylineOptions;
import com.mapbox.mapboxsdk.annotations.Sprite;
import com.mapbox.mapboxsdk.constants.Style;
import com.mapbox.mapboxsdk.geometry.CoordinateBounds;
import com.mapbox.mapboxsdk.geometry.LatLng;
import com.mapbox.mapboxsdk.utils.ApiAccess;
import com.mapbox.mapboxsdk.views.MapView;
@@ -196,7 +196,6 @@ public class MainActivity extends AppCompatActivity {
mSelectedStyle = savedInstanceState.getInt(STATE_SELECTED_STYLE);
}
// Set default UI state
mNavigationView.getMenu().findItem(R.id.action_compass).setChecked(mMapView.isCompassEnabled());
mNavigationView.getMenu().findItem(R.id.action_debug).setChecked(mMapView.isDebugActive());
@@ -333,6 +332,13 @@ public class MainActivity extends AppCompatActivity {
startActivity(new Intent(getApplicationContext(), InfoWindowActivity.class));
return true;
case R.id.action_visible_bounds:
// Set visible bounds to Moscone Center West (37.783703, -122.403589) and Union Square (37.7874436,-122.4072359)
mMapView.setVisibleCoordinateBounds(
new CoordinateBounds(new LatLng(37.783703, -122.403589), new LatLng(37.7874436,-122.4072359)),
new RectF(100, 350, 100, 300), true);
return true;
default:
return changeMapStyle(menuItem.getItemId());
}
@@ -389,9 +395,13 @@ public class MainActivity extends AppCompatActivity {
*/
private void toggleGps(boolean enableGps) {
if (enableGps) {
if ((ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) ||
(ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED)) {
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.ACCESS_FINE_LOCATION}, PERMISSIONS_LOCATION);
if ((ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION)
!= PackageManager.PERMISSION_GRANTED) ||
(ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION)
!= PackageManager.PERMISSION_GRANTED)) {
ActivityCompat.requestPermissions(this,
new String[]{Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.ACCESS_FINE_LOCATION},
PERMISSIONS_LOCATION);
} else {
enableGps();
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 602 B

View File

@@ -92,11 +92,15 @@
android:icon="@drawable/ic_filter_none_white_24dp"
android:title="@string/action_info_window_adapter" />
<item
android:id="@+id/action_press_for_marker"
<item android:id="@+id/action_press_for_marker"
android:checkable="false"
android:icon="@drawable/ic_pin_drop_white_24dp"
android:title="@string/action_press_for_marker"/>
<item android:id="@+id/action_visible_bounds"
android:checkable="false"
android:icon="@drawable/ic_pin_drop_white_24dp"
android:title="@string/action_press_for_marker"/>
android:icon="@drawable/ic_action_crop"
android:title="@string/action_visible_bounds"/>
</menu>
</item>

View File

@@ -23,6 +23,7 @@
<string name="action_map_fragment">MapFragment</string>
<string name="action_press_for_marker">Press For Marker</string>
<string name="action_info_window">InfoWindow</string>
<string name="action_visible_bounds">Set Visible Bounds</string>
<string name="label_fps">FPS:</string>