package org.droidplanner.android.fragments;
import android.location.LocationListener;
import android.widget.Toast;
import com.o3dr.services.android.lib.coordinate.LatLong;
import org.droidplanner.android.graphic.map.GraphicLocator;
import org.droidplanner.android.utils.prefs.AutoPanMode;
import java.util.Collections;
public class LocatorMapFragment extends DroneMap {
private final GraphicLocator graphicLocator = new GraphicLocator();
@Override
protected boolean isMissionDraggable() {
return false;
}
@Override
public boolean setAutoPanMode(AutoPanMode target) {
if(target == AutoPanMode.DISABLED)
return true;
Toast.makeText(getActivity(), "Auto pan is not supported on this map.", Toast.LENGTH_LONG).show();
return false;
}
public void updateLastPosition(LatLong lastPosition) {
graphicLocator.setLastPosition(lastPosition);
mMapFragment.updateMarker(graphicLocator);
}
public void zoomToFit() {
// add lastPosition
final LatLong lastPosition = graphicLocator.getPosition();
if(lastPosition != null && lastPosition.getLongitude() != 0 && lastPosition.getLatitude() != 0) {
mMapFragment.zoomToFit(Collections.singletonList(lastPosition));
}
else{
mMapFragment.goToMyLocation();
}
}
public void setLocationReceiver(LocationListener receiver){
mMapFragment.setLocationListener(receiver);
}
}