[android] #3753 - Optimising zoom

[android] #3753 - removed old zoom methods from MapView
This commit is contained in:
Tobrun
2016-02-01 14:39:22 +01:00
parent 7c58c7803e
commit 6ebb3e88d8
5 changed files with 309 additions and 127 deletions

View File

@@ -82,7 +82,8 @@ public class ManualZoomActivity extends AppCompatActivity {
return true;
case R.id.action_zoom_to_point:
mMapboxMap.animateCamera(CameraUpdateFactory.zoomBy(12, new Point(100, 100)));
View view = getWindow().getDecorView();
mMapboxMap.animateCamera(CameraUpdateFactory.zoomBy(1, new Point(view.getMeasuredWidth() / 4, view.getMeasuredHeight() / 4)));
return true;
default:

View File

@@ -1,5 +1,7 @@
package com.mapbox.mapboxsdk.maps;
import android.graphics.Point;
import com.mapbox.mapboxsdk.annotations.Marker;
import com.mapbox.mapboxsdk.annotations.MarkerOptions;
import com.mapbox.mapboxsdk.camera.CameraPosition;
@@ -45,6 +47,20 @@ public class MapboxMapTest {
assertNotNull("mMapboxMap should not be null", mMapboxMap);
}
//
// Test UiSettings
//
@Test
public void testUiSettings() {
assertNotNull("UiSettings should not be null", mMapboxMap.getUiSettings());
}
//
// InfoWindow
//
@Test
public void testConcurrentInfoWindowEnabled() {
mMapboxMap.setAllowConcurrentMultipleOpenInfoWindows(true);
@@ -57,6 +73,10 @@ public class MapboxMapTest {
assertFalse("ConcurrentWindows should be false", mMapboxMap.isAllowConcurrentMultipleOpenInfoWindows());
}
//
// Location
//
@Test
public void testMyLocationEnabled() {
try {
@@ -77,6 +97,10 @@ public class MapboxMapTest {
}
}
//
// Style
//
@Test
public void testStyleUrl() {
mMapboxMap.setStyleUrl("somestyle");
@@ -89,6 +113,10 @@ public class MapboxMapTest {
assertEquals("Style should be same", Style.MAPBOX_STREETS, mMapboxMap.getStyleUrl());
}
//
// CameraPosition
//
@Test
public void testCameraPosition() {
CameraPosition position = new CameraPosition.Builder().bearing(1).tilt(2).zoom(3).target(new LatLng(4, 5)).build();
@@ -96,55 +124,246 @@ public class MapboxMapTest {
assertEquals("CameraPosition should be same", position, mMapboxMap.getCameraPosition());
}
//
// Camera - moveCamera
//
@Test
public void testMoveCamera() {
public void testNewCameraPositionMoveCamera() {
CameraPosition position = new CameraPosition.Builder().bearing(1).tilt(2).zoom(3).target(new LatLng(4, 5)).build();
mMapboxMap.moveCamera(CameraUpdateFactory.newCameraPosition(position));
assertEquals("CameraPosition should be same", position, mMapboxMap.getCameraPosition());
}
//
// Camera - animateCamera
//
@Test
public void testAnimateCamera() {
public void testNewCameraPositionAnimateCamera() {
CameraPosition position = new CameraPosition.Builder().bearing(1).tilt(2).zoom(3).target(new LatLng(4, 5)).build();
mMapboxMap.animateCamera(CameraUpdateFactory.newCameraPosition(position));
assertEquals("CameraPosition should be same", position, mMapboxMap.getCameraPosition());
}
@Test
public void testAnimateCameraWithCallbackParameter() {
public void testNewCameraPositionAnimateCameraWithCallbackParameter() {
CameraPosition position = new CameraPosition.Builder().bearing(1).tilt(2).zoom(3).target(new LatLng(4, 5)).build();
mMapboxMap.animateCamera(CameraUpdateFactory.newCameraPosition(position), null);
assertEquals("CameraPosition should be same", position, mMapboxMap.getCameraPosition());
}
@Test
public void testAnimateCameraWithDurationParameter() {
public void testNewCameraPositionAnimateCameraWithDurationParameter() {
CameraPosition position = new CameraPosition.Builder().bearing(1).tilt(2).zoom(3).target(new LatLng(4, 5)).build();
mMapboxMap.animateCamera(CameraUpdateFactory.newCameraPosition(position), 0);
assertEquals("CameraPosition should be same", position, mMapboxMap.getCameraPosition());
}
@Test
public void testAnimateCameraWithDurationAndCallbackParameter() {
public void testNewCameraPositionAnimateCameraWithDurationAndCallbackParameter() {
CameraPosition position = new CameraPosition.Builder().bearing(1).tilt(2).zoom(3).target(new LatLng(4, 5)).build();
mMapboxMap.animateCamera(CameraUpdateFactory.newCameraPosition(position), 0, null);
assertEquals("CameraPosition should be same", position, mMapboxMap.getCameraPosition());
}
//
// Camera - easeCamera
//
@Test
public void testEaseCamera() {
public void testNewCameraPositionEaseCamera() {
CameraPosition position = new CameraPosition.Builder().bearing(1).tilt(2).zoom(3).target(new LatLng(4, 5)).build();
mMapboxMap.easeCamera(CameraUpdateFactory.newCameraPosition(position), 1000);
assertEquals("CameraPosition should be same", position, mMapboxMap.getCameraPosition());
}
@Test
public void testEaseCameraWithCallbackParameter() {
public void testNewCameraPositionEaseCameraWithCallbackParameter() {
CameraPosition position = new CameraPosition.Builder().bearing(1).tilt(2).zoom(3).target(new LatLng(4, 5)).build();
mMapboxMap.easeCamera(CameraUpdateFactory.newCameraPosition(position), 1000, null);
assertEquals("CameraPosition should be same", position, mMapboxMap.getCameraPosition());
}
//
// Camera - LatLng
//
@Test
public void testLatLngMoveCamera() {
mMapboxMap.moveCamera(CameraUpdateFactory.newLatLng(new LatLng(4, 5)));
assertEquals("LatLng should be same", new LatLng(4, 5), mMapboxMap.getCameraPosition().target);
}
@Test
public void testLatLngAnimateCamera() {
mMapboxMap.animateCamera(CameraUpdateFactory.newLatLng(new LatLng(4, 5)));
assertEquals("LatLng should be same", new LatLng(4, 5), mMapboxMap.getCameraPosition().target);
}
@Test
public void testLatLngEaseCamera() {
mMapboxMap.easeCamera(CameraUpdateFactory.newLatLng(new LatLng(4, 5)), 1000);
assertEquals("LatLng should be same", new LatLng(4, 5), mMapboxMap.getCameraPosition().target);
}
//
// Camera - LatLngZoom
//
@Test
public void testLatLngZoomMoveCamera() {
mMapboxMap.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(4, 5), 10));
assertEquals("LatLng should be same", new LatLng(4, 5), mMapboxMap.getCameraPosition().target);
assertTrue("Zoomlevel should be same", 10 == mMapboxMap.getCameraPosition().zoom);
}
@Test
public void testLatLngZoomAnimateCamera() {
mMapboxMap.animateCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(4, 5), 10));
assertEquals("LatLng should be same", new LatLng(4, 5), mMapboxMap.getCameraPosition().target);
assertTrue("Zoomlevel should be same", 10 == mMapboxMap.getCameraPosition().zoom);
}
@Test
public void testLatLngZoomEaseCamera() {
mMapboxMap.easeCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(4, 5), 10), 1000);
assertEquals("LatLng should be same", new LatLng(4, 5), mMapboxMap.getCameraPosition().target);
assertTrue("Zoomlevel should be same", 10 == mMapboxMap.getCameraPosition().zoom);
}
//
// Camera - Zoom
//
@Test
public void testZoomInMoveCamera() {
CameraPosition position = new CameraPosition.Builder().bearing(1).tilt(2).zoom(3).target(new LatLng(4, 5)).build();
mMapboxMap.setCameraPosition(position);
mMapboxMap.moveCamera(CameraUpdateFactory.zoomIn());
assertTrue("Zoomlevel should be same", 4 == mMapboxMap.getCameraPosition().zoom);
}
@Test
public void testZoomOutMoveCamera() {
CameraPosition position = new CameraPosition.Builder().bearing(1).tilt(2).zoom(3).target(new LatLng(4, 5)).build();
mMapboxMap.setCameraPosition(position);
mMapboxMap.moveCamera(CameraUpdateFactory.zoomOut());
assertTrue("Zoomlevel should be same", 2 == mMapboxMap.getCameraPosition().zoom);
}
@Test
public void testZoomByMoveCamera() {
CameraPosition position = new CameraPosition.Builder().bearing(1).tilt(2).zoom(3).target(new LatLng(4, 5)).build();
mMapboxMap.setCameraPosition(position);
mMapboxMap.moveCamera(CameraUpdateFactory.zoomBy(3));
assertTrue("Zoomlevel should be same", 6 == mMapboxMap.getCameraPosition().zoom);
}
@Test
public void testZoomByPointMoveCamera() {
CameraPosition position = new CameraPosition.Builder().bearing(1).tilt(2).zoom(3).target(new LatLng(4, 5)).build();
mMapboxMap.setCameraPosition(position);
mMapboxMap.moveCamera(CameraUpdateFactory.zoomBy(3, new Point(0, 0)));
assertTrue("Zoomlevel should be same", 6 == mMapboxMap.getCameraPosition().zoom);
// todo calculate and check LatLng
}
@Test
public void testZoomToMoveCamera() {
CameraPosition position = new CameraPosition.Builder().bearing(1).tilt(2).zoom(3).target(new LatLng(4, 5)).build();
mMapboxMap.setCameraPosition(position);
mMapboxMap.moveCamera(CameraUpdateFactory.zoomTo(12));
assertTrue("Zoomlevel should be same", 12 == mMapboxMap.getCameraPosition().zoom);
}
@Test
public void testZoomInAnimateCamera() {
CameraPosition position = new CameraPosition.Builder().bearing(1).tilt(2).zoom(3).target(new LatLng(4, 5)).build();
mMapboxMap.setCameraPosition(position);
mMapboxMap.animateCamera(CameraUpdateFactory.zoomIn());
assertTrue("Zoomlevel should be same", 4 == mMapboxMap.getCameraPosition().zoom);
}
@Test
public void testZoomOutAnimateCamera() {
CameraPosition position = new CameraPosition.Builder().bearing(1).tilt(2).zoom(3).target(new LatLng(4, 5)).build();
mMapboxMap.setCameraPosition(position);
mMapboxMap.animateCamera(CameraUpdateFactory.zoomOut());
assertTrue("Zoomlevel should be same", 2 == mMapboxMap.getCameraPosition().zoom);
}
@Test
public void testZoomByAnimateCamera() {
CameraPosition position = new CameraPosition.Builder().bearing(1).tilt(2).zoom(3).target(new LatLng(4, 5)).build();
mMapboxMap.setCameraPosition(position);
mMapboxMap.animateCamera(CameraUpdateFactory.zoomBy(3));
assertTrue("Zoomlevel should be same", 6 == mMapboxMap.getCameraPosition().zoom);
}
@Test
public void testZoomToAnimateCamera() {
CameraPosition position = new CameraPosition.Builder().bearing(1).tilt(2).zoom(3).target(new LatLng(4, 5)).build();
mMapboxMap.setCameraPosition(position);
mMapboxMap.animateCamera(CameraUpdateFactory.zoomTo(12));
assertTrue("Zoomlevel should be same", 12 == mMapboxMap.getCameraPosition().zoom);
}
@Test
public void testZoomByPointAnimateCamera() {
CameraPosition position = new CameraPosition.Builder().bearing(1).tilt(2).zoom(3).target(new LatLng(4, 5)).build();
mMapboxMap.setCameraPosition(position);
mMapboxMap.animateCamera(CameraUpdateFactory.zoomBy(1, new Point(0, 0)));
assertTrue("Zoomlevel should be same", 4 == mMapboxMap.getCameraPosition().zoom);
// todo calculate and check LatLng
}
@Test
public void testZoomInEaseCamera() {
CameraPosition position = new CameraPosition.Builder().bearing(1).tilt(2).zoom(3).target(new LatLng(4, 5)).build();
mMapboxMap.setCameraPosition(position);
mMapboxMap.easeCamera(CameraUpdateFactory.zoomIn(), 1000);
assertTrue("Zoomlevel should be same", 4 == mMapboxMap.getCameraPosition().zoom);
}
@Test
public void testZoomOutEaseCamera() {
CameraPosition position = new CameraPosition.Builder().bearing(1).tilt(2).zoom(3).target(new LatLng(4, 5)).build();
mMapboxMap.setCameraPosition(position);
mMapboxMap.easeCamera(CameraUpdateFactory.zoomOut(), 1000);
assertTrue("Zoomlevel should be same", 2 == mMapboxMap.getCameraPosition().zoom);
}
@Test
public void testZoomByEaseCamera() {
CameraPosition position = new CameraPosition.Builder().bearing(1).tilt(2).zoom(3).target(new LatLng(4, 5)).build();
mMapboxMap.setCameraPosition(position);
mMapboxMap.easeCamera(CameraUpdateFactory.zoomBy(3), 1000);
assertTrue("Zoomlevel should be same", 6 == mMapboxMap.getCameraPosition().zoom);
}
@Test
public void testZoomByPointCamera() {
CameraPosition position = new CameraPosition.Builder().bearing(1).tilt(2).zoom(3).target(new LatLng(4, 5)).build();
mMapboxMap.setCameraPosition(position);
mMapboxMap.easeCamera(CameraUpdateFactory.zoomBy(3, new Point(0, 0)), 1000);
assertTrue("Zoomlevel should be same", 6 == mMapboxMap.getCameraPosition().zoom);
// todo calculate and check LatLng
}
@Test
public void testZoomToEaseCamera() {
CameraPosition position = new CameraPosition.Builder().bearing(1).tilt(2).zoom(3).target(new LatLng(4, 5)).build();
mMapboxMap.setCameraPosition(position);
mMapboxMap.easeCamera(CameraUpdateFactory.zoomTo(12), 1000);
assertTrue("Zoomlevel should be same", 12 == mMapboxMap.getCameraPosition().zoom);
}
//
// OnMarkerClick interface
//
@Test
public void testOnMarkerClick() {
mMapboxMap.setOnMarkerClickListener(mOnMarkerClickListener);