Google Map. Отображаем объекты на карте

| 13.01.2015

Видоизменим немного код, который мы создавали ранее. Теперь при нажатии на кнопку будем загружать карту-схему и добавим на нее пару своих объектов (Эрмитаж и Зимний дворец в Санкт-Петербурге). Также добавим возможность пользователю видеть собственную локацию на карте (иконка «таргет»).

Google Map. Отображаем объекты на карте

Видоизменим только код Активити.

package ru.androiddocs.map;

import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.View;

import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.SupportMapFragment;
import com.google.android.gms.maps.model.BitmapDescriptorFactory;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.MarkerOptions;


public class MainActivity extends ActionBarActivity {

    SupportMapFragment mapFragment;
    GoogleMap map;

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

        mapFragment = (SupportMapFragment) getSupportFragmentManager()
                .findFragmentById(R.id.map);
        map = mapFragment.getMap();
        if (map == null) {
            finish();
            return;
        }
    }

    public void onClickLoad(View view) {

        map.addMarker(new MarkerOptions()
                .position(new LatLng(59.93983756, 30.31456361)).title("Эрмитаж").icon(
                BitmapDescriptorFactory.fromResource(R.drawable.ic_launcher)));

        map.addMarker(new MarkerOptions()
                .position(new LatLng(59.94039109, 30.31380186)).title("Зимний дворец").icon(
                        BitmapDescriptorFactory.fromResource(R.drawable.ic_launcher)));

        map.setMyLocationEnabled(true);
    }
}

Из нового здесь только несколько методов:
addMarker() — позволяет добавлять маркер на карту. В качестве параметра передаем объект MarkerOptions, для которого задаем нужные нам параметры.

position() — задает позицию маркера (широта и долгота)
title() — сообщение, которое будет отображаться при нажатии на маркер
icon() — задает иконку для маркера (мы использовали иконку из приложения)

Строчка:

map.setMyLocationEnabled(true);

позволяет пользователю определять собственную локацию.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*