use of com.mapbox.mapboxsdk.geometry.LatLng in project osm-contributor by jawg.
the class MapFragment method onPause.
@Override
public void onPause() {
super.onPause();
mapView.onPause();
if (mapboxMap != null) {
LatLng location = mapboxMap.getCameraPosition().target;
sharedPreferences.edit().putFloat("latitude", (float) location.getLatitude()).apply();
sharedPreferences.edit().putFloat("longitude", (float) location.getLongitude()).apply();
mapboxMap.setMyLocationEnabled(false);
}
if (valueAnimator != null) {
valueAnimator.cancel();
valueAnimator.removeAllListeners();
valueAnimator.removeAllUpdateListeners();
}
}
use of com.mapbox.mapboxsdk.geometry.LatLng in project osm-contributor by jawg.
the class MapFragment method onCameraChangeUpdatePolyline.
public void onCameraChangeUpdatePolyline() {
if (editionPolyline != null) {
List<LatLng> points = editionPolyline.getPoints();
points.set(1, mapboxMap.getCameraPosition().target);
removePolyline(editionPolyline);
editionPolyline = new PolylineOptions().addAll(points).alpha(0.4f).width(1.8f).color(Color.parseColor("#F57C00"));
mapboxMap.addPolyline(editionPolyline);
}
}
use of com.mapbox.mapboxsdk.geometry.LatLng in project osm-contributor by jawg.
the class MapFragment method onPleaseDuplicatePoiFromMapEvent.
/*-----------------------------------------------------------
* POI DUPLICATION
*---------------------------------------------------------*/
@Subscribe(threadMode = ThreadMode.MAIN)
public void onPleaseDuplicatePoiFromMapEvent(PleaseDuplicatePoiEvent event) {
Poi poi = (Poi) markerSelected.getRelatedObject();
poiTypeSelected(poi.getType());
mapboxMap.setCameraPosition(new CameraPosition.Builder().target(new LatLng(poi.getLatitude(), poi.getLongitude())).build());
switchMode(MapMode.POI_CREATION);
}
use of com.mapbox.mapboxsdk.geometry.LatLng in project osm-contributor by jawg.
the class MapboxListener method onCameraZoomChange.
/**
* The zoom change
* @param zoom
*/
private void onCameraZoomChange(double zoom) {
// For testing purpose
mapFragment.setZoomLevelText(df.format(zoom));
boolean isVectorial = mapFragment.isVectorial();
if (zoom < mapFragment.getZoomVectorial()) {
mapFragment.getLevelBar().setVisibility(View.INVISIBLE);
mapFragment.getAddressView().setVisibility(View.INVISIBLE);
if (isVectorial) {
mapFragment.setVectorial(false);
mapFragment.applyPoiFilter();
}
} else {
LatLng center = mapboxMap.getCameraPosition().target;
mapFragment.getGeocoder().delayedReverseGeocoding(center.getLatitude(), center.getLongitude());
if (mapFragment.getLevelBar().getLevels().length > 1) {
mapFragment.getLevelBar().setVisibility(View.VISIBLE);
}
if (!isVectorial) {
mapFragment.setVectorial(true);
mapFragment.applyPoiFilter();
}
}
}
use of com.mapbox.mapboxsdk.geometry.LatLng in project osm-contributor by jawg.
the class MapboxListener method listen.
/**
* Register the listener for the map
* @param mapboxMap
*/
public void listen(final MapboxMap mapboxMap, final MapView mapView) {
this.mapboxMap = mapboxMap;
// Listen on map click
mapboxMap.setOnMapClickListener(new MapboxMap.OnMapClickListener() {
@Override
public void onMapClick(@NonNull LatLng point) {
MapboxListener.this.onMapClick();
}
});
// Listen on marker click
mapboxMap.setOnMarkerClickListener(new MapboxMap.OnMarkerClickListener() {
@Override
public boolean onMarkerClick(@NonNull Marker marker) {
if (marker instanceof WayMarker) {
WayMarker wayMarker = (WayMarker) marker;
MapboxListener.this.onWayMarkerClick(wayMarker);
}
return false;
}
});
// Listen on location and zoom change
mapboxMap.setOnCameraChangeListener(new MapboxMap.OnCameraChangeListener() {
@Override
public void onCameraChange(CameraPosition position) {
// Location change, call the listener method
if (MapboxListener.this.position != null) {
if (!MapboxListener.this.position.target.equals(position.target)) {
onCameraPositionChange();
}
// Zoom change, call the listener method
if (MapboxListener.this.position.zoom != position.zoom) {
onCameraZoomChange(position.zoom);
}
}
MapboxListener.this.position = position;
}
});
final ScaleGestureDetector scaleGestureDetector = new ScaleGestureDetector(mapFragment.getActivity(), new ZoomAnimationGestureDetector() {
@Override
public void onZoomAnimationEnd(ValueAnimator animator) {
if (zoomValueAnimator != null && zoomValueAnimator.isRunning()) {
zoomValueAnimator.cancel();
}
zoomValueAnimator = animator;
zoomValueAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator valueAnimator) {
CameraPosition position = mapboxMap.getCameraPosition();
mapboxMap.setCameraPosition(new CameraPosition.Builder().target(position.target).bearing(position.bearing).zoom(position.zoom + (Float) valueAnimator.getAnimatedValue()).build());
}
});
zoomValueAnimator.start();
}
});
mapView.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
scaleGestureDetector.onTouchEvent(motionEvent);
return false;
}
});
// Listen on marker view click
mapboxMap.getMarkerViewManager().setOnMarkerViewClickListener(new MapboxMap.OnMarkerViewClickListener() {
@Override
public boolean onMarkerClick(@NonNull Marker marker, @NonNull View view, @NonNull MapboxMap.MarkerViewAdapter adapter) {
if (marker instanceof LocationMarkerView) {
LocationMarkerView locationMarker = (LocationMarkerView) marker;
MapboxListener.this.onLocationMarkerClick(locationMarker);
return false;
}
return false;
}
});
}
Aggregations