Question

I want to set my current location is default in my one Geopoint.If i want to get direction path from my current location to another location,i want to show default current location in my one location.

This is the code for find user current location:

public class WhereIActivity extends MapActivity{

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_where_i);

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

        mapController=myMapView.getController();


       myMapView.displayZoomControls(false);

       mapController.setZoom(17);


       myMapView.setStreetView(true);
       myMapView.setTraffic(true);

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

        Criteria crta = new Criteria(); 
        crta.setAccuracy(Criteria.ACCURACY_FINE); 
        crta.setAltitudeRequired(false); 
        crta.setBearingRequired(false); 
        crta.setCostAllowed(true); 
        crta.setPowerRequirement(Criteria.POWER_LOW); 
        String provider = locationManager.getBestProvider(crta, true); 

     // String provider = LocationManager.GPS_PROVIDER; 
        Location location = locationManager.getLastKnownLocation(provider); 
        updateWithNewLocation(location); 

        locationManager.requestLocationUpdates(provider, 2000, 10, locationListener); 
        } 

 private final LocationListener locationListener = new LocationListener() 
    { 

    @Override 
    public void onLocationChanged(Location location) { 
    updateWithNewLocation(location); 
    } 

    @Override 
    public void onProviderDisabled(String provider) { 
    updateWithNewLocation(null); 
    } 

    @Override 
    public void onProviderEnabled(String provider) { 
    } 

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

    }; 

private void updateWithNewLocation(Location location) { 
        String latLong;
        TextView myLocation; 
        myLocation = (TextView) findViewById(R.id.myLocation); 

        String addressString = "no address found"; 

        if(location!=null) { 



            positionOverlay.setLocation(location);


            Double geoLat=location.getLatitude()*1E6;
            Double geoLng=location.getLongitude()*1E6;
            GeoPoint point=new GeoPoint(geoLat.intValue(),geoLng.intValue());

            mapController.animateTo(point);

        double lat = location.getLatitude(); 
        double lon = location.getLongitude(); 
        latLong = "Lat:" + lat + "\nLong:" + lon; 

double lattitude = location.getLatitude(); 
        double longitude = location.getLongitude(); 

        Geocoder gc = new Geocoder(this,Locale.getDefault()); 
        try { 
        List<Address> addresses= gc.getFromLocation(lattitude, longitude, 1); 
        StringBuilder sb = new StringBuilder(); 
        if(addresses.size()>0) { 
        Address address=addresses.get(0);
        for(int i=0;i<address.getMaxAddressLineIndex();i++)
            sb.append(address.getAddressLine(i)).append("\n");
        sb.append(address.getLocality()).append("\n"); 
        sb.append(address.getPostalCode()).append("\n"); 
    sb.append(address.getCountryName()); 
    } 
        addressString = sb.toString(); 
        } 
        catch (Exception e) { 
        } 
        } else { 
        latLong = " NO Location Found "; 
        } 

        myLocation.setText("Your Current Position is :\n"+ latLong + "\n"+  addressString ); 
    }

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

How to set this user current location default in direction path:

Intent intent = new Intent(android.content.Intent.ACTION_VIEW,
                Uri.parse("http://maps.google.com/maps/?daddr=my+street+address"));
                intent.setClassName("com.google.android.apps.maps", "com.google.android.maps.MapsActivity");
                startActivity(intent);
Was it helpful?

Solution

Please read this link carefully. This code runs successfully in my applications

http://ckpatel.blog.com/category/android-gps/

This code is for drawing paths and I think the get location code is correct but check in a mobile device. Thanks

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top