Merge remote-tracking branch 'origin/master'
This commit is contained in:
commit
0f8d141acd
3 changed files with 35 additions and 2 deletions
|
@ -760,6 +760,7 @@ public class MapActivityActions implements DialogProvider {
|
||||||
routingHelper.setRoutePlanningMode(false);
|
routingHelper.setRoutePlanningMode(false);
|
||||||
settings.LAST_ROUTING_APPLICATION_MODE = settings.APPLICATION_MODE.get();
|
settings.LAST_ROUTING_APPLICATION_MODE = settings.APPLICATION_MODE.get();
|
||||||
settings.APPLICATION_MODE.set(settings.DEFAULT_APPLICATION_MODE.get());
|
settings.APPLICATION_MODE.set(settings.DEFAULT_APPLICATION_MODE.get());
|
||||||
|
getMyApplication().getTargetPointsHelper().clearStartPoint(false);
|
||||||
mapActivity.updateApplicationModeSettings();
|
mapActivity.updateApplicationModeSettings();
|
||||||
mapActivity.getDashboard().clearDeletedPoints();
|
mapActivity.getDashboard().clearDeletedPoints();
|
||||||
}
|
}
|
||||||
|
|
|
@ -390,6 +390,21 @@ public class WaypointDialogHelper {
|
||||||
@Override
|
@Override
|
||||||
public boolean onMenuItemClick(MenuItem item) {
|
public boolean onMenuItemClick(MenuItem item) {
|
||||||
// switch start & finish
|
// switch start & finish
|
||||||
|
TargetPointsHelper targetPointsHelper = app.getTargetPointsHelper();
|
||||||
|
TargetPoint start = targetPointsHelper.getPointToStart();
|
||||||
|
TargetPoint finish = targetPointsHelper.getPointToNavigate();
|
||||||
|
targetPointsHelper.setStartPoint(new LatLon(finish.getLatitude(),
|
||||||
|
finish.getLongitude()), false, finish.getPointDescription(ctx));
|
||||||
|
if (start == null) {
|
||||||
|
Location loc = app.getLocationProvider().getLastKnownLocation();
|
||||||
|
if (loc != null) {
|
||||||
|
targetPointsHelper.navigateToPoint(new LatLon(loc.getLatitude(),
|
||||||
|
loc.getLongitude()), true, -1);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
targetPointsHelper.navigateToPoint(new LatLon(start.getLatitude(),
|
||||||
|
start.getLongitude()), true, -1, start.getPointDescription(ctx));
|
||||||
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
|
@ -30,6 +30,7 @@ public class PointNavigationLayer extends OsmandMapLayer implements IContextMenu
|
||||||
private OsmandMapTileView view;
|
private OsmandMapTileView view;
|
||||||
private float[] calculations = new float[2];
|
private float[] calculations = new float[2];
|
||||||
|
|
||||||
|
private Bitmap startPoint;
|
||||||
private Bitmap targetPoint;
|
private Bitmap targetPoint;
|
||||||
private Bitmap intermediatePoint;
|
private Bitmap intermediatePoint;
|
||||||
private Bitmap arrowToDestination;
|
private Bitmap arrowToDestination;
|
||||||
|
@ -59,6 +60,7 @@ public class PointNavigationLayer extends OsmandMapLayer implements IContextMenu
|
||||||
textPaint.setTextSize(sp * 18);
|
textPaint.setTextSize(sp * 18);
|
||||||
textPaint.setTextAlign(Align.CENTER);
|
textPaint.setTextAlign(Align.CENTER);
|
||||||
textPaint.setAntiAlias(true);
|
textPaint.setAntiAlias(true);
|
||||||
|
startPoint = BitmapFactory.decodeResource(view.getResources(), R.drawable.map_intermediate_point);
|
||||||
targetPoint = BitmapFactory.decodeResource(view.getResources(), R.drawable.map_target_point);
|
targetPoint = BitmapFactory.decodeResource(view.getResources(), R.drawable.map_target_point);
|
||||||
intermediatePoint = BitmapFactory.decodeResource(view.getResources(), R.drawable.map_intermediate_point);
|
intermediatePoint = BitmapFactory.decodeResource(view.getResources(), R.drawable.map_intermediate_point);
|
||||||
arrowToDestination = BitmapFactory.decodeResource(view.getResources(), R.drawable.map_arrow_to_destination);
|
arrowToDestination = BitmapFactory.decodeResource(view.getResources(), R.drawable.map_arrow_to_destination);
|
||||||
|
@ -79,8 +81,21 @@ public class PointNavigationLayer extends OsmandMapLayer implements IContextMenu
|
||||||
if(tb.getZoom() < 3) {
|
if(tb.getZoom() < 3) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
int index = 0;
|
|
||||||
TargetPointsHelper targetPoints = map.getMyApplication().getTargetPointsHelper();
|
TargetPointsHelper targetPoints = map.getMyApplication().getTargetPointsHelper();
|
||||||
|
TargetPoint pointToStart = targetPoints.getPointToStart();
|
||||||
|
if (pointToStart != null) {
|
||||||
|
if (isLocationVisible(tb, pointToStart)) {
|
||||||
|
int marginX = startPoint.getWidth() / 6;
|
||||||
|
int marginY = startPoint.getHeight();
|
||||||
|
int locationX = tb.getPixXFromLonNoRot(pointToStart.getLongitude());
|
||||||
|
int locationY = tb.getPixYFromLatNoRot(pointToStart.getLatitude());
|
||||||
|
canvas.rotate(-tb.getRotate(), locationX, locationY);
|
||||||
|
canvas.drawBitmap(startPoint, locationX - marginX, locationY - marginY, bitmapPaint);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
int index = 0;
|
||||||
for (TargetPoint ip : targetPoints.getIntermediatePoints()) {
|
for (TargetPoint ip : targetPoints.getIntermediatePoints()) {
|
||||||
index ++;
|
index ++;
|
||||||
if (isLocationVisible(tb, ip)) {
|
if (isLocationVisible(tb, ip)) {
|
||||||
|
@ -95,6 +110,7 @@ public class PointNavigationLayer extends OsmandMapLayer implements IContextMenu
|
||||||
canvas.rotate(tb.getRotate(), locationX, locationY);
|
canvas.rotate(tb.getRotate(), locationX, locationY);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
TargetPoint pointToNavigate = targetPoints.getPointToNavigate();
|
TargetPoint pointToNavigate = targetPoints.getPointToNavigate();
|
||||||
if (isLocationVisible(tb, pointToNavigate)) {
|
if (isLocationVisible(tb, pointToNavigate)) {
|
||||||
int marginX = targetPoint.getWidth() / 6;
|
int marginX = targetPoint.getWidth() / 6;
|
||||||
|
@ -104,6 +120,7 @@ public class PointNavigationLayer extends OsmandMapLayer implements IContextMenu
|
||||||
canvas.rotate(-tb.getRotate(), locationX, locationY);
|
canvas.rotate(-tb.getRotate(), locationX, locationY);
|
||||||
canvas.drawBitmap(targetPoint, locationX - marginX, locationY - marginY, bitmapPaint);
|
canvas.drawBitmap(targetPoint, locationX - marginX, locationY - marginY, bitmapPaint);
|
||||||
}
|
}
|
||||||
|
|
||||||
Iterator<TargetPoint> it = targetPoints.getIntermediatePoints().iterator();
|
Iterator<TargetPoint> it = targetPoints.getIntermediatePoints().iterator();
|
||||||
if(it.hasNext()) {
|
if(it.hasNext()) {
|
||||||
pointToNavigate = it.next();
|
pointToNavigate = it.next();
|
||||||
|
|
Loading…
Reference in a new issue