Map.java :  » UnTagged » stride-android » team » stride » gmap » Android Open Source

Android Open Source » UnTagged » stride android 
stride android » team » stride » gmap » Map.java
package team.stride.gmap;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.util.List;

import team.stride.R;
import team.stride.utils.UtilsStride;
import android.graphics.Bitmap;
import android.os.Bundle;

import com.google.android.maps.GeoPoint;
import com.google.android.maps.MapActivity;
import com.google.android.maps.MapController;
import com.google.android.maps.MapView;
import com.google.android.maps.MyLocationOverlay;
import com.google.android.maps.Overlay;

public class Map extends MapActivity
{
  private MapView mapView;
  private MapController mapController;
  private MyLocationOverlay myLocationOverlay;
  private Bitmap mapBmp;

  public void onCreate(Bundle savedInstanceState)
  {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.map);

    mapView = (MapView) findViewById(R.id.mapview1);
    mapController = mapView.getController();
    myLocationOverlay = new MyLocationOverlay(this, mapView);
    mapView.getOverlays().add(myLocationOverlay);
    myLocationOverlay.enableCompass();
    myLocationOverlay.enableMyLocation();
    myLocationOverlay.runOnFirstFix(new Runnable()
    {
      public void run()
      {
        mapController.animateTo(myLocationOverlay.getMyLocation());
      }
    });
    mapController.setZoom(12);

    mapView.setClickable(true);
    mapView.setEnabled(true);
    // mapView.setSatellite(true);
    mapView.displayZoomControls(true);
    mapView.setBuiltInZoomControls(true);
    if (UtilsStride.pathPoints.size() > 0)
    {
      mapController = mapView.getController();
      mapController.setZoom(12);
      GeoPoint po = new GeoPoint(UtilsStride.pathPoints.get(0).getLat(), UtilsStride.pathPoints.get(0).getLong());
      mapController.animateTo(po);
      PathDraw mapOverlay = new PathDraw(UtilsStride.pathPoints, this);
      List<Overlay> listOfOverlays = mapView.getOverlays();
      listOfOverlays.clear();
      listOfOverlays.add(mapOverlay);

      mapView.setClickable(true);
      mapView.setEnabled(true);
      // mapView.setSatellite(true);

      mapView.setBuiltInZoomControls(true);
      mapView.invalidate();
    }

  }

  @Override
  protected boolean isRouteDisplayed()
  {
    return false;
  }

  @Override
  public void onPause()
  {
    super.onPause();
    // save bmp
    if (!mapView.isDrawingCacheEnabled())
      mapView.buildDrawingCache();
    mapBmp = Bitmap.createBitmap(mapView.getDrawingCache());
    mapView.destroyDrawingCache();
  }

  public boolean saveMap(String path)
  {
    if (mapBmp == null)
      return false;
    FileOutputStream out;
    try
    {
      out = new FileOutputStream(path);
      mapBmp.compress(Bitmap.CompressFormat.JPEG, 25, out);
    }
    catch (FileNotFoundException e)
    {
      e.printStackTrace();
      return false;
    }
    return true;
  }
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.