Перейти к содержимому
Меню
  • Java SE
  • Android
  • Поиск
  • Java SE
  • Android

JAVA-HELP

Сайт для Java разработчиков

Работа с GoogleMaps

Здравствуйте, в этой статье я рассмотрю настройки карт от Google.

Инструкция для начала работы с GoogleMaps — Урок 139. Google maps. Создание и настройка проекта. Карта, камера, события

Доступ к настройкам карты:

UiSettings mapSettings = map.getUiSettings();

Включаем возможность перемещения по карте:

mapSettings.setScrollGesturesEnabled(true);

Включаем возможность поворота камеры двумя пальцами:

mapSettings.setRotateGesturesEnabled(true);

Включаем кнопки для увеличения карты:

 mapSettings.setZoomControlsEnabled(true);

Открываем карту определенного города:

try {
Geocoder geocoder = new Geocoder(MainActivity.this);
List<Address> addresses;
addresses = geocoder.getFromLocationName("Москва", 3);

if(addresses.size()> 0) {
double latitude= addresses.get(0).getLatitude();
double longitude= addresses.get(0).getLongitude();
LatLngBounds MOSCOW = new LatLngBounds(new LatLng(latitude, longitude), new LatLng(latitude, longitude));

map.moveCamera(CameraUpdateFactory.newLatLngZoom(MOSCOW.getCenter(), 10));
}

} catch (IOException e) {}

В методе getFromLocationName указываем название города на русском или английском и масштаб. В моем примере карта увеличится в 3 раза.

Включаем отображение местоположения пользователя на карте:

map.setMyLocationEnabled(true);

Устанавливаем тип карты:

map.setMapType(GoogleMap.MAP_TYPE_SATELLITE);

Список типов карт:

MAP_TYPE_NONE – карта не будет отображаться.

MAP_TYPE_NORMAL – обычный режим, в нем карта стартует по умолчанию.

MAP_TYPE_SATELLITE – снимки со спутника.

MAP_TYPE_TERRAIN – карта рельефа местности.

MAP_TYPE_HYBRID – снимки со спутника и информация о улицах и транспорте.

Узнать какой тип карты включен в данный момент можно с помощью метода getMapType().

Добавляем маркер при нажатии на карту:

@Override
    public void onCreate(Bundle savedInstanceState){
        super.onCreate(savedInstanceState);
…
map.setOnMapClickListener(onMapClick);
}

OnMapClickListener onMapClick = new OnMapClickListener() {

        @Override
        public void onMapClick(LatLng latLng) {
        	addMarker(latLng);
        }
};

void addMarker(LatLng latLng){

        MarkerOptions markerOptions = new MarkerOptions();
        markerOptions.position(latLng);
        markerOptions.flat(false);
        markerOptions.title("Мой заголовок для маркера");

        map.clear();
        map.animateCamera(CameraUpdateFactory.newLatLng(latLng));
        map.addMarker(markerOptions);
}

Устанавливаем адрес в качестве заголовка для маркера:

markerOptions.title("Мой заголовок для маркера");

String getAdress(LatLng latLng){
 String filterAddress = "";
        Geocoder geoCoder = new Geocoder(getBaseContext(), Locale.getDefault());
        try {
            List<Address> addresses = geoCoder.getFromLocation(
             latLng.latitude,
             latLng.longitude, 1);

            if (addresses.size()> 0) {
                for (int index = 0; index < addresses.get(0).getMaxAddressLineIndex(); index++){
                    filterAddress += addresses.get(0).getAddressLine(index) + " ";
                 }

            }
        }catch (IOException ex) {
            ex.printStackTrace();
        }catch (Exception e2) {
            e2.printStackTrace();
        }
        return filterAddress;
}
Категории
  • Android
  • Уроки Android
Предыдущая заметка

Retrofit — библиотека для работы с REST API

Следующая заметка

Android Process Button — кнопка с прогрессбаром

Рубрики

  • Android
    • Android-библиотеки
    • Android-сниппеты
    • Material Design
    • Инструменты разработчика
    • Уроки Android
  • Java SE
    • Java-сниппеты
    • Изучение Java
    • Обзор Java-классов
    • Основы Java
  • Kotlin

Популярные записи

  • Загрузка изображений с помощью библиотеки Glide. Начало работы
  • Руководство по использованию ORM DBFlow в Android-приложении
  • Анимированный Toolbar: фичи Design Support Library
  • Я хочу программировать под Android. Вопрос #5
  • Используем ACRA в своем приложении

Copyright © 2020– JAVA-HELP. Все права защищены. Политика конфиденциальности