From 15b6118b2716010ada9210403bcbbca61427e7b6 Mon Sep 17 00:00:00 2001 From: bsudekum Date: Wed, 20 Jan 2016 14:52:23 -0800 Subject: [PATCH] Update to android 3.1.0 --- android/build.gradle | 2 +- .../ReactNativeMapboxGLManager.java | 43 +++++++++---------- 2 files changed, 21 insertions(+), 24 deletions(-) diff --git a/android/build.gradle b/android/build.gradle index cc5f31d..8d8f45d 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -31,7 +31,7 @@ repositories { dependencies { compile 'com.facebook.react:react-native:0.17.+' - compile('com.mapbox.mapboxsdk:mapbox-android-sdk:2.3.0@aar') { + compile('com.mapbox.mapboxsdk:mapbox-android-sdk:3.1.0@aar') { transitive = true } } diff --git a/android/src/main/java/com/mapbox/reactnativemapboxgl/ReactNativeMapboxGLManager.java b/android/src/main/java/com/mapbox/reactnativemapboxgl/ReactNativeMapboxGLManager.java index 29dacc2..6f1fe45 100644 --- a/android/src/main/java/com/mapbox/reactnativemapboxgl/ReactNativeMapboxGLManager.java +++ b/android/src/main/java/com/mapbox/reactnativemapboxgl/ReactNativeMapboxGLManager.java @@ -6,7 +6,6 @@ import android.util.Log; import android.os.StrictMode; import android.location.Location; - import com.facebook.react.bridge.Arguments; import com.facebook.react.bridge.ReactContext; import com.facebook.react.bridge.ReadableArray; @@ -15,23 +14,19 @@ import com.facebook.react.bridge.WritableMap; import com.facebook.react.uimanager.ReactProp; import com.facebook.react.modules.core.DeviceEventManagerModule; import com.mapbox.mapboxsdk.annotations.Marker; -import com.mapbox.mapboxsdk.constants.Style; -import com.facebook.react.bridge.LifecycleEventListener; +import com.mapbox.mapboxsdk.camera.CameraUpdateFactory; import android.graphics.RectF; import com.mapbox.mapboxsdk.geometry.CoordinateBounds; import com.facebook.react.uimanager.SimpleViewManager; import com.facebook.react.uimanager.ThemedReactContext; -import com.facebook.react.uimanager.events.RCTEventEmitter; import com.mapbox.mapboxsdk.annotations.MarkerOptions; import com.mapbox.mapboxsdk.annotations.PolygonOptions; import com.mapbox.mapboxsdk.annotations.PolylineOptions; -import com.mapbox.mapboxsdk.constants.MyLocationTracking; import com.mapbox.mapboxsdk.geometry.LatLng; -import com.mapbox.mapboxsdk.geometry.LatLngZoom; import com.mapbox.mapboxsdk.views.MapView; -import com.mapbox.mapboxsdk.annotations.Sprite; -import com.mapbox.mapboxsdk.annotations.SpriteFactory; -import android.support.v4.content.ContextCompat; +import com.mapbox.mapboxsdk.camera.CameraPosition; +import com.mapbox.mapboxsdk.annotations.Icon; +import com.mapbox.mapboxsdk.annotations.IconFactory; import android.graphics.drawable.Drawable; import android.graphics.BitmapFactory; import android.graphics.Bitmap; @@ -39,13 +34,9 @@ import java.io.InputStream; import java.io.IOException; import java.net.URL; import java.net.HttpURLConnection; -import java.net.MalformedURLException; import android.graphics.drawable.BitmapDrawable; - import javax.annotation.Nullable; - - public class ReactNativeMapboxGLManager extends SimpleViewManager { public static final String REACT_CLASS = "RCTMapbox"; @@ -147,8 +138,8 @@ public class ReactNativeMapboxGLManager extends SimpleViewManager { String annotationURL = annotationImage.getString("url"); try { Drawable image = drawableFromUrl(mapView, annotationURL); - SpriteFactory iconFactory = view.getSpriteFactory(); - Sprite icon = iconFactory.fromDrawable(image); + IconFactory iconFactory = view.getIconFactory(); + Icon icon = iconFactory.fromDrawable(image); marker.icon(icon); } catch (Exception e) { e.printStackTrace(); @@ -300,7 +291,10 @@ public class ReactNativeMapboxGLManager extends SimpleViewManager { if (center != null) { double latitude = center.getDouble("latitude"); double longitude = center.getDouble("longitude"); - view.setCenterCoordinate(new LatLng(latitude, longitude)); + CameraPosition cameraPosition = new CameraPosition.Builder() + .target(new LatLng(latitude, longitude)) + .build(); + view.moveCamera(CameraUpdateFactory.newCameraPosition(cameraPosition)); }else{ Log.w(REACT_CLASS, "No CenterCoordinate provided"); } @@ -366,8 +360,12 @@ public class ReactNativeMapboxGLManager extends SimpleViewManager { if (center != null) { double latitude = center.getDouble("latitude"); double longitude = center.getDouble("longitude"); - double zoom = center.getDouble("zoom"); - view.setCenterCoordinate(new LatLngZoom(latitude, longitude, zoom), true); + float zoom = (float)center.getDouble("zoom"); + CameraPosition cameraPosition = new CameraPosition.Builder() + .target(new LatLng(latitude, longitude)) + .zoom(zoom) + .build(); + view.moveCamera(CameraUpdateFactory.newCameraPosition(cameraPosition)); }else{ Log.w(REACT_CLASS, "No CenterCoordinate provided"); } @@ -391,11 +389,10 @@ public class ReactNativeMapboxGLManager extends SimpleViewManager { public WritableMap getCenterCoordinateZoomLevel(MapView view) { WritableMap callbackDict = Arguments.createMap(); - LatLng center = view.getCenterCoordinate(); - double zoom = view.getZoomLevel(); - callbackDict.putDouble("latitude", center.getLatitude()); - callbackDict.putDouble("longitude", center.getLongitude()); - callbackDict.putDouble("zoomLevel", zoom); + CameraPosition center = view.getCameraPosition(); + callbackDict.putDouble("latitude", center.target.getLatitude()); + callbackDict.putDouble("longitude", center.target.getLongitude()); + callbackDict.putDouble("zoomLevel", center.zoom); return callbackDict; }