package ntryn.n;

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


import android.content.Context;

import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;

import android.location.Geocoder;
import android.location.Address;

import com.google.android.maps.Overlay;
import android.graphics.Canvas;
import android.graphics.Point;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.drawable.Drawable;

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




import android.os.Bundle;
import android.widget.Toast;

public class ntryn extends MapActivity {
    private MapView mapView;
    private MapController mapController;

    private LocationManager locationManager;
    private LocationListener locationListener;
    List<Overlay> mapOverlays;
    Drawable drawable, drawable2 ;
    HelloItemizedOverlay itemizedoverlay;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        locationManager = (LocationManager)
getSystemService(Context.LOCATION_SERVICE);

        locationListener = new GPSLocationListener();

        locationManager.requestLocationUpdates(
            LocationManager.GPS_PROVIDER,
            0,
            0,
            locationListener);

        mapView = (MapView) findViewById(R.id.mapView);

        // enable Street view by default
        mapView.setStreetView(true);

        // enable to show Satellite view
        // mapView.setSatellite(true);

        // enable to show Traffic on map
        // mapView.setTraffic(true);
        mapView.setBuiltInZoomControls(true);

        mapController = mapView.getController();
        mapController.setZoom(16);

        mapController = mapView.getController();

        mapView.invalidate();

        GeoPoint p;
        String coordinates[] = {"30.084691643714909",
"31.335958242416382"};
        double lat = Double.parseDouble(coordinates[0]);
        double lng = Double.parseDouble(coordinates[1]);

        p = new GeoPoint(
            (int) (lat * 1E6),
            (int) (lng * 1E6));

        mapController.animateTo(p);
        mapController.setZoom(17);

      //  HelloItemizedOverlay itemizedoverlay = new
HelloItemizedOverlay(drawable);
        MapOverlay mapOverlay = new MapOverlay();
        List<Overlay> listOfOverlays = mapView.getOverlays();
        listOfOverlays.clear();
        listOfOverlays.add(mapOverlay);

        mapView.invalidate();
    }


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

    private class GPSLocationListener implements LocationListener
    {
        public void onLocationChanged(Location location) {
            if (location != null) {
                GeoPoint point = new GeoPoint(
                        (int) (location.getLatitude() * 1E6),
                        (int) (location.getLongitude() * 1E6));

                /* Toast.makeText(getBaseContext(),
                        "Latitude: " + location.getLatitude() +
                        " Longitude: " + location.getLongitude(),
                        Toast.LENGTH_SHORT).show();*/

                mapController.animateTo(point);
                mapController.setZoom(16);

           //     GeoPoint point1 = new
GeoPoint{"30.084691643714909,31.335958242416382"};

                // add marker
                MapOverlay mapOverlay = new MapOverlay();
                mapOverlay.setPointToDraw(point);
                List<Overlay> listOfOverlays = mapView.getOverlays();
                listOfOverlays.clear();
                listOfOverlays.add(mapOverlay);

                String address = ConvertPointToLocation(point);
                Toast.makeText(getBaseContext(), address,
Toast.LENGTH_SHORT).show();

                mapView.invalidate();
            }
        }

        public String ConvertPointToLocation(GeoPoint point) {
            String address = "";
            Geocoder geoCoder = new Geocoder(
                    getBaseContext(), Locale.getDefault());
            try {
                List<Address> addresses = geoCoder.getFromLocation(
                    point.getLatitudeE6()  / 1E6,
                    point.getLongitudeE6() / 1E6, 1);

                if (addresses.size() > 0) {
                    for (int index = 0; index <
addresses.get(0).getMaxAddressLineIndex(); index++)
                        address +=
addresses.get(0).getAddressLine(index) + " ";
                }
            }
            catch (IOException e) {
                e.printStackTrace();
            }

            return address;
        }

        public void onProviderDisabled(String provider) {
        }

        public void onProviderEnabled(String provider) {
        }

        public void onStatusChanged(String provider, int status,
Bundle extras) {
        }
    }




    class MapOverlay extends Overlay
    {
        private GeoPoint pointToDraw;
        private GeoPoint p1;
        public void setPointToDraw(GeoPoint point) {
            pointToDraw = point;

        }

        public GeoPoint getPointToDraw() {
            return pointToDraw;
        }
        public void setp1(GeoPoint po1) {
            p1 = po1;

        }

        public GeoPoint getp1() {
            return p1;
        }


        @Override
        public boolean draw(Canvas canvas, MapView mapView, boolean
shadow, long when) {
            super.draw(canvas, mapView, shadow);

            // convert point to pixels
            Point screenPts = new Point();
            mapView.getProjection().toPixels(pointToDraw, screenPts);

            // add marker
            Bitmap bmp = BitmapFactory.decodeResource(getResources(),
R.drawable.dotred);
            canvas.drawBitmap(bmp, screenPts.x, screenPts.y - 24,
null); // 24 is the height of image
            return true;
        }
    }



} whats wrong in the code please let me how how to add to this code
overlay items in specific loction rather than the overlay item appear
in the loction the gps locate i'm in pleaseeeeeeeeeeeeeee help

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to