@vPolyanchych

Google maps api. Как определить город пользователя, не спрашивая у него, через navigator?

Мне нужно знать свое местоположение и чтобы не наносить свои координаты в код, а с помощью GPS.
public class MainActivity extends AppCompatActivity {
    private final LatLng LOCATION_BURNABY = new LatLng(49.27645, -122.917587);
    private final LatLng LOCATION_SURREY = new LatLng(49.187500, -122.849000);
    private LocationManager locationManager;
    private GoogleMap map;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        locationManager = (LocationManager) getSystemService(LOCATION_SERVICE);
        map = ((MapFragment) getFragmentManager().findFragmentById(R.id.map)).getMap();
        map.addMarker(new MarkerOptions().position(LOCATION_SURREY));
    }

    public void City(View view) {
        map.setMapType(GoogleMap.MAP_TYPE_SATELLITE);
        CameraUpdate update = CameraUpdateFactory.newLatLng(LOCATION_BURNABY);
        map.animateCamera(update);

    }
  • Вопрос задан
  • 1788 просмотров
Решения вопроса 1
VYakushev
@VYakushev
Разработчик Android в Nowtaxi
Есть два варианта получения координат:
1. Получить последнюю известную координату - LocationManager.getLastKnownLocation(provider) или LocationServices.FusedLocationApi.getLastLocation. Второй вариант потребует подключения gms-библиотеки. Этот вариант более быстрый, но большая погрешность т.к. когда была эта последняя координата не известно.
2. Использовать стандартный механизм для получения координат через LocationManager.requestLocationUpdates(). При этом координаты можно получить не только от GPS, но и от сотовой сети. Вариант немного дольше по времени, в отличие от первого, но даёт более точно местоположение.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы