package org.osmdroid.mapsforge.wrapper;
import org.osmdroid.api.IGeoPoint;
import org.osmdroid.api.IProjection;
import org.osmdroid.util.GeoPoint;
import android.graphics.Point;
/**
* A wrapper for the mapsforge {@link org.mapsforge.android.maps.Projection} implementation. This
* implements {@link IProjection}, which is also implemented by the osmdroid {@link
* org.osmdroid.views.MapView.Projection}.
*
* @author Neil Boyd
*/
public class Projection implements IProjection {
private final org.mapsforge.android.maps.Projection mProjection;
public Projection(final org.mapsforge.android.maps.Projection pProjection) {
mProjection = pProjection;
}
@Override
public Point toPixels(final IGeoPoint in, final Point out) {
final org.mapsforge.android.maps.GeoPoint googleGeoPoint =
new org.mapsforge.android.maps.GeoPoint(in.getLatitudeE6(), in.getLongitudeE6());
return mProjection.toPixels(googleGeoPoint, out);
}
@Override
public IGeoPoint fromPixels(final int x, final int y) {
final org.mapsforge.android.maps.GeoPoint mapsforgeGeoPoint = mProjection.fromPixels(x, y);
return new GeoPoint(mapsforgeGeoPoint.getLatitude(), mapsforgeGeoPoint.getLongitude());
}
@Override
public float metersToEquatorPixels(final float meters) {
return 0;
// TODO return mProjection.metersToEquatorPixels(meters);
}
@Override
public IGeoPoint getNorthEast() {
return null;
}
@Override
public IGeoPoint getSouthWest() {
return null;
}
}