Try fix gps loc at exif (nexus)

This commit is contained in:
Alexey Kulish 2015-12-25 19:06:52 +03:00
parent 4fda09805a
commit d46be4f573
2 changed files with 14 additions and 3 deletions

View file

@ -1156,8 +1156,13 @@ public class AudioVideoNotesPlugin extends OsmandPlugin {
// camera focus type // camera focus type
autofocus = true; autofocus = true;
//parameters.setGpsLatitude(lat); parameters.removeGpsData();
//parameters.setGpsLongitude(lon); String locProvider = mapActivity.getMapViewTrackingUtilities().getLocationProvider();
if (!Algorithms.isEmpty(locProvider)) {
parameters.setGpsLatitude(lat);
parameters.setGpsLongitude(lon);
parameters.setGpsProcessingMethod(locProvider.toUpperCase());
}
switch (AV_CAMERA_FOCUS_TYPE.get()) { switch (AV_CAMERA_FOCUS_TYPE.get()) {
case AV_CAMERA_FOCUS_HIPERFOCAL: case AV_CAMERA_FOCUS_HIPERFOCAL:
parameters.setFocusMode(Parameters.FOCUS_MODE_FIXED); parameters.setFocusMode(Parameters.FOCUS_MODE_FIXED);

View file

@ -42,6 +42,7 @@ public class MapViewTrackingUtilities implements OsmAndLocationListener, IMapLoc
private boolean routePlanningMode; private boolean routePlanningMode;
private boolean showViewAngle = false; private boolean showViewAngle = false;
private boolean isUserZoomed = false; private boolean isUserZoomed = false;
private String locationProvider;
public MapViewTrackingUtilities(OsmandApplication app){ public MapViewTrackingUtilities(OsmandApplication app){
this.app = app; this.app = app;
@ -74,6 +75,10 @@ public class MapViewTrackingUtilities implements OsmAndLocationListener, IMapLoc
} }
} }
public String getLocationProvider() {
return locationProvider;
}
@Override @Override
public void updateCompassValue(float val) { public void updateCompassValue(float val) {
if (mapView != null) { if (mapView != null) {
@ -104,6 +109,7 @@ public class MapViewTrackingUtilities implements OsmAndLocationListener, IMapLoc
@Override @Override
public void updateLocation(Location location) { public void updateLocation(Location location) {
showViewAngle = false; showViewAngle = false;
locationProvider = location.getProvider();
if (mapView != null) { if (mapView != null) {
RotatedTileBox tb = mapView.getCurrentRotatedTileBox(); RotatedTileBox tb = mapView.getCurrentRotatedTileBox();
if (isMapLinkedToLocation() && location != null) { if (isMapLinkedToLocation() && location != null) {