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