package org.osmdroid.mapsforge.wrapper;
import org.mapsforge.android.maps.MapView;
import org.mapsforge.android.maps.MapViewMode;
import org.osmdroid.api.IGeoPoint;
import org.osmdroid.api.IMapController;
import org.osmdroid.api.IMapView;
import org.osmdroid.api.IProjection;
import android.content.Context;
import android.util.AttributeSet;
/**
* A wrapper for the Google {@link org.mapsforge.android.maps.MapView} class. This implements {@link
* IMapView}, which is also implemented by the osmdroid {@link org.osmdroid.views.MapView}.
*
* @author Neil Boyd
*/
public class MFMapView implements IMapView {
private final org.mapsforge.android.maps.MapView mMapView;
public MFMapView(final org.mapsforge.android.maps.MapView pMapView) {
mMapView = pMapView;
}
public int getId() {
return mMapView.getId();
}
public MFMapView(final Context pContext) {
this(new org.mapsforge.android.maps.MapView(pContext));
}
public MFMapView(final Context pContext, final AttributeSet pAttrs) {
this(new org.mapsforge.android.maps.MapView(pContext, pAttrs));
}
@Override
public IMapController getController() {
return new MapController(mMapView.getController());
}
@Override
public IProjection getProjection() {
return new Projection(mMapView.getProjection());
}
@Override
public int getZoomLevel() {
return mMapView.getZoomLevel();
}
@Override
public int getLatitudeSpan() {
return 0;
// TODO return mMapView.getLatitudeSpan();
}
@Override
public int getLongitudeSpan() {
return 0;
// TODO return mMapView.getLongitudeSpan();
}
@Override
public IGeoPoint getMapCenter() {
return new GeoPoint(mMapView.getMapCenter());
}
@Override
public int getMaxZoomLevel() {
return mMapView.getMaxZoomLevel();
}
@Override
public void setBackgroundColor(final int pColor) {
mMapView.setBackgroundColor(pColor);
}
public void onResume() {
mMapView.onResume();
}
public void onPause() {
mMapView.onPause();
}
public void destroy() {
mMapView.destroy();
}
public MapViewMode getMapViewMode() {
return mMapView.getMapViewMode();
}
public void setMapFileFromPreferences(String fileName) {
mMapView.setMapFileFromPreferences(fileName);
}
public MapView getWrappedMapView() {
return mMapView;
}
public boolean hasValidMapFile() {
return mMapView.hasValidMapFile();
}
public String getMapFile() {
return mMapView.getMapFile();
}
public boolean hasValidCenter() {
return mMapView.hasValidCenter();
}
}