Вопрос

I am currently retrieving the current location in my app but i also need the text of this location, or the city i am in at least, something like that.

Is there any known way i can do this?

This is what i have so far:

package ro.gebs.captoom.activities;

import android.app.Activity;
import android.location.Criteria;
import android.location.Location;
import android.location.LocationManager;
import android.os.Bundle;
import android.view.Window;

import com.example.captoom.R;
import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.MapFragment;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.Marker;
import com.google.android.gms.maps.model.MarkerOptions;

public class LocationActivity extends Activity {

    private GoogleMap map;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        getWindow().requestFeature(Window.FEATURE_ACTION_BAR);
        getActionBar().hide();
        setContentView(R.layout.preview_location);

        map = ((MapFragment) getFragmentManager().findFragmentById(R.id.map))
                .getMap();

        LocationManager service = (LocationManager) getSystemService(LOCATION_SERVICE);
        Criteria criteria = new Criteria();
        String provider = service.getBestProvider(criteria, false);
        Location location = service.getLastKnownLocation(provider);
        LatLng userLocation = new LatLng(location.getLatitude(),location.getLongitude());


        if (map != null) {
            Marker current_location_marker = map.addMarker(new MarkerOptions().position(userLocation)
                      .title("Current Location"));
        } else {

        }

        map.moveCamera(
                CameraUpdateFactory.newLatLngZoom(userLocation, 10));

        // Zoom in, animating the camera.
        map.animateCamera(
                CameraUpdateFactory.zoomTo(10), 2000, null);

    }

}
Это было полезно?

Решение

First you have to get your current latitude and longitude then you can use google api to get current address component. See my answer on this question to get address from lat long

Get the particular address using latitude and longitude

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top