Видоизменим немного код, который мы создавали ранее. Теперь при нажатии на кнопку будем загружать карту-схему и добавим на нее пару своих объектов (Эрмитаж и Зимний дворец в Санкт-Петербурге). Также добавим возможность пользователю видеть собственную локацию на карте (иконка «таргет»).
Видоизменим только код Активити.
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);
позволяет пользователю определять собственную локацию.