Monday, 9 July 2012

GET THE CURRENT LOCATION WHEN CLICK ON THE MAP IN ANDROID WITH SOURCE CODE.

GET THE CURRENT LOCATION WHEN CLICK ON THE MAP IN ANDROID WITH SOURCE CODE.


In this example ,we get the current location when you click on the map.that is we get the current latitude and longitude of the location when you click on the map.the source code is given below .i hope you this will be useful for you.your valuable suggestion are always welcome















                                                                                                     


JithumapdemoActivity.java



package a.b;

import java.io.IOException;
import java.util.List;
import java.util.Locale;

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.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Point;
import android.location.Address;
import android.location.Geocoder;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup.LayoutParams;
import android.widget.LinearLayout;
import android.widget.Toast;

public class JithumapdemoActivity extends MapActivity {
MapView mapView;
MapController mc;
GeoPoint p;


class MapOverlay extends com.google.android.maps.Overlay
   {
       @Override
       public boolean draw(Canvas canvas, MapView mapView, boolean shadow, long when)
       {
return false;
          //...
       }

       @Override
       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());
                   Toast.makeText(getBaseContext(),
                       p.getLatitudeE6() / 1E6 + "," +
                       p.getLongitudeE6() /1E6 ,
                       Toast.LENGTH_SHORT).show();
                 

                   Geocoder geoCoder = new Geocoder(
                       getBaseContext(), Locale.getDefault());
           }                          
           return false;
       }      
   }
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        mapView = (MapView) findViewById(R.id.mapView);
        LinearLayout zoomLayout = (LinearLayout)findViewById(R.id.zoom);
        View zoomView = mapView.getZoomControls();

        zoomLayout.addView(zoomView,
            new LinearLayout.LayoutParams(
                LayoutParams.WRAP_CONTENT,
                LayoutParams.WRAP_CONTENT));
        mapView.displayZoomControls(true);
        mapView.setSatellite(false);
        mc=mapView.getController();
        String[] cord={"8.484639","76.955538"};
        double lat = Double.parseDouble(cord[0]);
        double lng = Double.parseDouble(cord[1]);
        p = new GeoPoint(
                (int) (lat * 1E6),
                (int) (lng * 1E6));
        mc.animateTo(p);
        mc.setZoom(17);
        mapView.invalidate();
        MapOverlay mapOverlay = new MapOverlay();
        List<Overlay> listOfOverlays = mapView.getOverlays();
        listOfOverlays.clear();
        listOfOverlays.add(mapOverlay);      

        mapView.invalidate();
    }

@Override
protected boolean isRouteDisplayed() {
// TODO Auto-generated method stub
return false;
}
}  


main.xml


<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent">
    <com.google.android.maps.MapView 
        android:id="@+id/mapView"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:enabled="true"
        android:clickable="true"
        android:apiKey="0vNjDM-9Hpz9W0naxngZObrxztXkFRH5LfyxboA"
        />
  <LinearLayout android:id="@+id/zoom" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_alignParentBottom="true" 
        android:layout_centerHorizontal="true" />
        
</RelativeLayout>







the output for your program is look like this .when you click on the map you will get the current location  on your screen.try it.








No comments:

Post a Comment