package com.openvehicles.OVMS.ui;
import java.text.SimpleDateFormat;
import java.util.List;
import android.content.Context;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.actionbarsherlock.view.Menu;
import com.actionbarsherlock.view.MenuInflater;
import com.actionbarsherlock.view.MenuItem;
import com.openvehicles.OVMS.R;
import com.openvehicles.OVMS.entities.CarData;
import com.openvehicles.OVMS.ui.utils.Ui;
public class MapFragment extends BaseFragment {
private View mMapViewContainer;
// private MapView mMapView;
// private MapController mMapController;
// private GeoPoint mLastGeoPoint;
// private CarMarkerOverlay mCarMarkerOverlay;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
if (mMapViewContainer == null) {
// mMapViewContainer = ((MainActivity)getActivity()).mapview_container;
}
return mMapViewContainer;
}
@Override
public void onDestroyView() {
super.onDestroyView();
ViewGroup parentViewGroup = (ViewGroup) mMapViewContainer.getParent();
if( null != parentViewGroup ) {
parentViewGroup.removeView(mMapViewContainer);
}
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
// mMapView = (MapView) mMapViewContainer.findViewById(R.id.mapview);
// mMapView.setBuiltInZoomControls(true);
// mMapController = mMapView.getController();
// List<Overlay> overlays = mMapView.getOverlays();
// if (overlays.size() == 0) {
// mCarMarkerOverlay = new CarMarkerOverlay(mMapView);
// overlays.add(mCarMarkerOverlay);
// } else {
// mCarMarkerOverlay = (CarMarkerOverlay) overlays.get(0);
// }
// setHasOptionsMenu(true);
// findViewById(R.id.btn_center_map).setOnClickListener(this);
}
// @Override
// public void onClick(View v) {
// if (mLastGeoPoint == null) return;
//
// mMapController.animateTo(mLastGeoPoint);
// }
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.center_map, menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == R.id.mi_center_map) {
// if (mLastGeoPoint != null) mMapController.animateTo(mLastGeoPoint);
return true;
}
return false;
}
@Override
public void update(CarData pCarData) {
// mLastGeoPoint = new GeoPoint((int) (pCarData.car_latitude * 1E6),
// (int) (pCarData.car_longitude * 1E6));
// Log.d("MapFragment", "Car on map: " + mLastGeoPoint);
String lastReportDate = pCarData.car_lastupdated == null ? "-" :
new SimpleDateFormat("MMM d, k:mm:ss").format(pCarData.car_lastupdated);
// OverlayItem overlayItem = new OverlayItem(mLastGeoPoint, pCarData.sel_vehicleid,
// String.format("Last reported: %s", lastReportDate));
Context context = getActivity();
if (context != null) {
Drawable drawable = getResources().getDrawable(Ui.getDrawableIdentifier(context,
"map_" + pCarData.sel_vehicle_image));
// mCarMarkerOverlay.setOverlayItem(overlayItem, drawable);
// mMapController.setZoom(18);
// mMapController.animateTo(mLastGeoPoint);
}
}
// private static class CarMarkerOverlay extends BalloonItemizedOverlay<OverlayItem> {
// private OverlayItem mOverlayItem;
//
// public CarMarkerOverlay(MapView pMapView) {
// super(boundCenter(pMapView.getContext().getResources().getDrawable(
// R.drawable.map_car_default)), pMapView);
// populate();
// }
//
// @Override
// protected OverlayItem createItem(int i) {
// return mOverlayItem;
// }
//
// @Override
// public int size() {
// return mOverlayItem == null ? 0 : 1;
// }
//
// public synchronized void setOverlayItem(OverlayItem pOverlayItem, Drawable pDrawableMarker) {
// mOverlayItem = pOverlayItem;
// mOverlayItem.setMarker(boundCenter(pDrawableMarker));
// populate();
// }
// }
}