title: Maps Place Click save that location to Android Listview?
body: <p>I am displaying the Google maps in the Android program.How can i save the places to Android Listview whenever I Click On  One place in the map.</p>
  
  <p>By this I am Getting the search place in the maps </p>
  
  <pre><code>package com.commonsware.android.nooer;
  
  import java.io.IOException;
  import java.util.ArrayList;
  import java.util.List;
  import java.util.Locale;
  
  import android.app.AlertDialog;
  import android.app.Dialog;
  import android.content.DialogInterface;
  import android.content.DialogInterface.OnCancelListener;
  import android.content.DialogInterface.OnClickListener;
  import android.graphics.Point;
  import android.graphics.drawable.Drawable;
  import android.location.Address;
  import android.location.Geocoder;
  import android.os.Bundle;
  import android.view.MotionEvent;
  import android.view.View;
  import android.widget.Button;
  import android.widget.EditText;
  import android.widget.Toast;
  
  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.OverlayItem;
  
  public class SampleMpas extends MapActivity {
  
  MapView mapView;
  
  MapController mapController;
  
  GeoPoint mgeoPoint;
  
  Drawable marker;
  
  MyLocationOverlay mLocationOverlay;
  
  MotionEvent e;
  public void changeMap(String area)
  {
   MapController mc=mapView.getController();
  GeoPoint myLocation=null;
  double lat = 0;
  double lng = 0;
  try
  {
  
  Geocoder g = new Geocoder(this, Locale.getDefault());
  
  java.util.List&lt;android.location.Address&gt; result=g.getFromLocationName(area, 1);
  if(result.size()&gt;0){
  
  Toast.makeText(SampleMpas.this, "country: " + String.valueOf(result.get(0).getCountryName()), Toast.LENGTH_SHORT).show();
  lat = result.get(0).getLatitude();
  lng = result.get(0).getLongitude();
  
  }            
  else{
  Toast.makeText(SampleMpas.this, "record not found", Toast.LENGTH_SHORT).show();
  return;
  }
  }
  catch(IOException io)
  {
  Toast.makeText(SampleMpas.this, "Connection Error", Toast.LENGTH_SHORT).show();
  }
  myLocation = new GeoPoint(
  (int) (lat * 1E6),
  (int) (lng * 1E6));
  Drawable drawable = this.getResources().getDrawable(R.drawable.icon);
  mc.animateTo(myLocation);
  mc.setZoom(15);
  mapView.invalidate();
  }
  
  @Override
  protected void onCreate(Bundle icicle) {
  
      // TODO Auto-generated method stub
      super.onCreate(icicle);
      setContentView(R.layout.main);
  
      Button btnSearch=(Button) findViewById(R.id.btnSearch);
      btnSearch.setOnClickListener(new View.OnClickListener() {
  
              public void onClick(View v) {
          EditText txtSearch=(EditText)findViewById(R.id.txtMapSearch);
          String area=txtSearch.getText().toString();
          Toast.makeText(SampleMpas.this, "Click-" + String.valueOf(area), Toast.LENGTH_SHORT).show();
          SampleMpas.this.changeMap(area);
  
                      }
  
          });
  
      mapView = (MapView) findViewById(R.id.map);
  
      mapController = mapView.getController();
  
      mapView.setBuiltInZoomControls(true);
      marker = getResources().getDrawable(R.drawable.marker);
  
      marker.setBounds(0, 0, marker.getIntrinsicWidth(), marker
              .getIntrinsicHeight());
  
      mapView.getOverlays().add(new MapOverlay(marker));
  
  
      mLocationOverlay = new MyLocationOverlay(this, mapView);
  
      mapView.getOverlays().add(mLocationOverlay);
  
  }
  
  @Override
  protected Dialog onCreateDialog(int id) {
  
      // TODO Auto-generated method stub
  
      switch (id) {
          case 0:
              return new AlertDialog.Builder(this).setTitle("Are You Want save this place As?").setIcon(
                      R.drawable.icon).setPositiveButton("Favorite",
                      new OnClickListener() {
  
                          public void onClick(DialogInterface dialog , int which) {
  
                              // TODO Auto-generated method stub
  
                          }
                      }).setCancelable(true).setNegativeButton("Cancel",
                      new OnClickListener() {
  
                          public void onClick(DialogInterface dialog , int which) {
  
                              // TODO Auto-generated method stub
  
                          }
                      }).setCancelable(true).setNeutralButton("Business", new OnClickListener() {
  
                          public void onClick(DialogInterface dialog, int which) {
                              // TODO Auto-generated method stub
  
                          }
                      })
  
              .setOnCancelListener(new OnCancelListener() {
  
                  public void onCancel(DialogInterface dialog) {
  
                      // TODO Auto-generated method stub
                      Toast.makeText(getApplicationContext(), "Dismiss",
                              Toast.LENGTH_SHORT).show();
                  }
  
              }).create();
  
  
          default:
              break;
      }
      return null;
          }
  
  
  
  @Override
  protected boolean isRouteDisplayed() {
  
      // TODO Auto-generated method stub
      return false;
  }
  
  
  Point scrPoint;
  
  
  private GeoPoint getPoint(double lat , double lon) {
  
      return (new GeoPoint((int) (lat * 1E6), (int) (lon * 1E6)));
  }
  
  
  class MapOverlay extends
          com.google.android.maps.ItemizedOverlay&lt;OverlayItem&gt; {
  
      List&lt;OverlayItem&gt; ListofGeopoints = new ArrayList&lt;OverlayItem&gt;();
  
  
      public MapOverlay(Drawable defaultMarker ) {
  
          super(defaultMarker);
          double lat = 0;
          double lang = 0;
          ListofGeopoints.add(new OverlayItem(getPoint(lat, lang),
                  "IN", "India"));
          populate();
  
      }
  
      @Override
      protected boolean onTap(int index) {
  
      switch (index) {
              case 0:
                  Toast.makeText(getApplicationContext(), "GeoLocation : 0",
                          Toast.LENGTH_LONG).show();
                  showDialog(0);
              break;
          }
  
          return true;
      }
  
  
      String add = "";
  
      List&lt;Address&gt; add_List = new ArrayList&lt;Address&gt;();
  
  
      private void getAddress() {
  
         /* add_List = ReverseGeocode
                  .getFromLocation(35.594227, -105.223618, 2);
  */
      }
  
      @Override
      protected OverlayItem createItem(int i) {
          return (ListofGeopoints.get(i));
      }
      @Override
      public int size() {
          return ListofGeopoints.size();
      }
  }
  }
  </code></pre>
  
  <p>Thanks in Advance.</p>