//package com.openvehicles.OVMS.ui.utils;
//
//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.google.android.maps.GeoPoint;
//import com.google.android.maps.MapController;
//import com.google.android.maps.MapView;
//import com.google.android.maps.Overlay;
//import com.google.android.maps.OverlayItem;
//import com.openvehicles.OVMS.R;
//import com.openvehicles.OVMS.entities.CarData;
//import com.openvehicles.OVMS.ui.BaseFragment;
//import com.openvehicles.OVMS.ui.utils.BalloonItemizedOverlay;
//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("OVMS", "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();
// }
// }
//}