title: How to set geopoint on current location on map in android?
body: <p>*<strong><em>Please tell me how to set the Geo-point to current location on start of program? I want to set an overlay balloon to current location of user in emulator on starting of the program marked as "you are here". My Code is here-</em>*</strong></p>
  
  <pre><code>package com.jbb;
  
  import java.util.List;
  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.Overlay;
  import android.content.Context;
  import android.graphics.Bitmap;
  import android.graphics.BitmapFactory;
  import android.graphics.Canvas;
  import android.graphics.Point;
  import android.location.Location;
  import android.location.LocationListener;
  import android.location.LocationManager;
  import android.os.Bundle;
  import android.view.MotionEvent;
  import android.widget.Toast;
  
  
  public class jbb_latitudeActivity extends MapActivity 
  {    
      LocationManager lm;
      MyLocationListener locationListener;
      MapView mapView;
      MapController mc;
      GeoPoint geoPoint;
      /** Called when the activity is first created. */
      @Override
      public void onCreate(Bundle savedInstanceState) {
          try{
          super.onCreate(savedInstanceState);
          setContentView(R.layout.main); 
          geoPoint = new GeoPoint( (int) (12.949997* 1E6), (int) (80.140213 * 1E6));
          mapView = (MapView) findViewById(R.id.name);
          mc = mapView.getController();
          mc.animateTo(geoPoint);
          mapView.setClickable(true);
          mapView.setBuiltInZoomControls(true);
          mapView.setSatellite(true);
          mapView.setTraffic(true);
          List&lt;Overlay&gt; overlays = mapView.getOverlays();
                  overlays.clear();
          overlays.add(new MyLocationListener());
          //---use the LocationManager class to obtain GPS locations---
          lm = (LocationManager)getSystemService(Context.LOCATION_SERVICE);    
          lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0,new MyLocationListener());
          }
      catch (Exception e) {
          // TODO: handle exception
          Toast.makeText(getApplicationContext(),e.toString() , 1).show();
      }
  
          }
     @Override
      protected boolean isRouteDisplayed() {
          // TODO Auto-generated method stub
          return false;
      }        
  
      private class MyLocationListener extends Overlay implements LocationListener 
      {
            public void draw(Canvas canvas, MapView mapView, boolean shadow) {                              // 1
              super.draw(canvas, mapView, shadow);
                  if (!shadow) {                                                                              // 2
                      Point point = new Point();
                      mapView.getProjection().toPixels(geoPoint, point);                                      // 3
                      Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.marker_default);   // 4
                      int x = point.x - bmp.getWidth() / 2;                                                   // 5                   inty=point.ybmp.getHeight();                                                      // 6         canvas.drawBitmap(bmp,x,y,null);                                                     // 7
                  }
              }
           public boolean onTouchEvent(MotionEvent event, MapView mapView) 
          {   
              //---when user lifts his finger---
              if (event.getAction() == 1) {                
                  GeoPoint p = mapView.getProjection().fromPixels(
                      (int) event.getX(),
                      (int) event.getY());
              }                            
              return false;
          }
           public boolean onTap(GeoPoint point, MapView mapView) 
           {
  
             String msg = "Lat:: " + point.getLatitudeE6()/1E6 + " - " + 
                          "Lon:: " + point.getLongitudeE6()/1E6;
            Toast.makeText(mapView.getContext(), msg,1).show();
            return true;
           }
          @Override
          public void onLocationChanged(Location loc) {
              if (loc != null) {                
                  Toast.makeText(mapView.getContext(), 
                      "Location changed : Lat: " + loc.getLatitude() + 
                      " Lng: " + loc.getLongitude(), 
                      1).show();
  
                  GeoPoint p = new GeoPoint(
                          (int) (loc.getLatitude() * 1E6), 
                          (int) (loc.getLongitude() * 1E6));
                  mc.animateTo(p);
                  mc.setZoom(15);                
                  mapView.invalidate();    
              }
          }
          @Override
          public void onProviderDisabled(String provider) {
              // TODO Auto-generated method stub
              Toast.makeText(mapView.getContext(), "hee", 1).show();
          }
          @Override
          public void onProviderEnabled(String provider) {
              // TODO Auto-generated method stub
              Toast.makeText(mapView.getContext(), "hee", 1).show();
          }
          @Override
          public void onStatusChanged(String provider, int status, 
              Bundle extras) {
              // TODO Auto-generated method stub
              Toast.makeText(mapView.getContext(), "hee", 1).show();
          }
      }    
  }
  </code></pre>