@Override public int getZoom() { return (int) googleMap.getCameraPosition().zoom; }
@Override public LatLng getCenter() { return googleMap.getCameraPosition().target; }
@Override public void onCameraMove() { CameraPosition position=map.getCameraPosition(); Log.d("onCameraMove", String.format("lat: %f, lon: %f, zoom: %f, tilt: %f", position.target.latitude, position.target.longitude, position.zoom, position.tilt)); }
@Override public void onCameraMoveStarted(int i) { CameraPosition position=map.getCameraPosition(); Log.d("onCameraMoveStarted", String.format("lat: %f, lon: %f, zoom: %f, tilt: %f", position.target.latitude, position.target.longitude, position.zoom, position.tilt)); }
@Override public void onCameraIdle() { CameraPosition position=map.getCameraPosition(); Log.d("onCameraIdle", String.format("lat: %f, lon: %f, zoom: %f, tilt: %f", position.target.latitude, position.target.longitude, position.zoom, position.tilt)); }
@Override public void onCameraMoveCanceled() { CameraPosition position=map.getCameraPosition(); Log.d("onCameraMoveCanceled", String.format("lat: %f, lon: %f, zoom: %f, tilt: %f", position.target.latitude, position.target.longitude, position.zoom, position.tilt)); }
/** * Force a re-cluster. You may want to call this after adding new item(s). */ public void cluster() { mClusterTaskLock.writeLock().lock(); try { // Attempt to cancel the in-flight request. mClusterTask.cancel(true); mClusterTask = new ClusterTask(); if (Build.VERSION.SDK_INT < Build.VERSION_CODES.HONEYCOMB) { mClusterTask.execute(mMap.getCameraPosition().zoom); } else { mClusterTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, mMap.getCameraPosition().zoom); } } finally { mClusterTaskLock.writeLock().unlock(); } }
/** * Might re-cluster. */ @Override public void onCameraIdle() { if (mRenderer instanceof GoogleMap.OnCameraIdleListener) { ((GoogleMap.OnCameraIdleListener) mRenderer).onCameraIdle(); } mAlgorithm.onCameraChange(mMap.getCameraPosition()); // delegate clustering to the algorithm if (mAlgorithm.shouldReclusterOnMapMovement()) { cluster(); // Don't re-compute clusters if the map has just been panned/tilted/rotated. } else if (mPreviousCameraPosition == null || mPreviousCameraPosition.zoom != mMap.getCameraPosition().zoom) { mPreviousCameraPosition = mMap.getCameraPosition(); cluster(); } }
@Override public void setZoom(int zoom) { googleMap.animateCamera( CameraUpdateFactory.newLatLngZoom(googleMap.getCameraPosition().target, zoom)); }
public void setAlgorithm(ScreenBasedAlgorithm<T> algorithm) { mAlgorithmLock.writeLock().lock(); try { if (mAlgorithm != null) { algorithm.addItems(mAlgorithm.getItems()); } mAlgorithm = algorithm; } finally { mAlgorithmLock.writeLock().unlock(); } if (mAlgorithm.shouldReclusterOnMapMovement()) { mAlgorithm.onCameraChange(mMap.getCameraPosition()); } cluster(); }
@Override public void onCameraIdle() { mMessageView.setText("CameraChangeListener: " + mMap.getCameraPosition()); } });
/** * Saves the state of the map when the activity is paused. */ @Override protected void onSaveInstanceState(Bundle outState) { if (mMap != null) { outState.putParcelable(KEY_CAMERA_POSITION, mMap.getCameraPosition()); outState.putParcelable(KEY_LOCATION, mLastKnownLocation); super.onSaveInstanceState(outState); } }
private void addCameraTargetToPath() { LatLng target = mMap.getCameraPosition().target; currPolylineOptions.add(target); } }
@Override public void onCameraIdle() { mCameraTextView.setText(mMap.getCameraPosition().toString()); } }
@Override public void onCameraIdle() { mCameraTextView.setText(mMap.getCameraPosition().toString()); }
/** * Called when the tilt less button (the one with the \) is clicked. */ public void onTiltLess(View view) { if (!checkReady()) { return; } CameraPosition currentCameraPosition = mMap.getCameraPosition(); float currentTilt = currentCameraPosition.tilt; float newTilt = currentTilt - 10; newTilt = (newTilt > 0) ? newTilt : 0; CameraPosition cameraPosition = new CameraPosition.Builder(currentCameraPosition) .tilt(newTilt).build(); changeCamera(CameraUpdateFactory.newCameraPosition(cameraPosition)); }
/** * Called when the tilt more button (the one with the /) is clicked. */ public void onTiltMore(View view) { if (!checkReady()) { return; } CameraPosition currentCameraPosition = mMap.getCameraPosition(); float currentTilt = currentCameraPosition.tilt; float newTilt = currentTilt + 10; newTilt = (newTilt > 90) ? 90 : newTilt; CameraPosition cameraPosition = new CameraPosition.Builder(currentCameraPosition) .tilt(newTilt).build(); changeCamera(CameraUpdateFactory.newCameraPosition(cameraPosition)); }
@Override public void onMapReady(final GoogleMap googleMap) { float zoom = googleMap.getCameraPosition().zoom; zoom--; final CameraUpdate zoomUpdate = CameraUpdateFactory.zoomTo(zoom); googleMap.animateCamera(zoomUpdate); } });
@Override public void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); final CameraPosition cameraPosition = getMap().getCameraPosition(); outState.putDouble(BUNDLE_LATITUDE, cameraPosition.target.latitude); outState.putDouble(BUNDLE_LONGITUDE, cameraPosition.target.longitude); outState.putFloat(BUNDLE_ZOOM, cameraPosition.zoom); maybeCloseRealm(); }
@Override protected void onPostExecute(final Address address) { if (address == null) { if (BuildConfig.DEBUG) Logger.log("no location found"); Toast.makeText(map.getBaseContext(), R.string.no_location_found, Toast.LENGTH_SHORT).show(); } else { map.getMap().animateCamera(CameraUpdateFactory .newLatLngZoom(new LatLng(address.getLatitude(), address.getLongitude()), Math.max(10, map.getMap().getCameraPosition().zoom))); } } }