https://developers.google.com/maps/documentation/android/start#add_the_google_play_services_version_to_your_apps_manifest
Se requiere: ◦ Tener instalado el Android SDK
◦ El Google Play Services SDK
◦ Copiar el folder <android-sdk>/extras/google/google_play_services/libproject/google-play-services_lib/ en la unidad D
Importar google-play-services_lib como «library project»
Crear el proyecto principal ◦ Clic derecho -> Properties
◦ Android -> Libraries
◦ Añadir la librería
Añadir la siguiente línea en el «manifest», dentro del tag <application>: ◦ <meta-data android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
«ProGuard» se encarga de optimizar el código, comprimirlo, y remover las clases que no se usan para correr la aplicación.
Para evitar que «ProGuard» ignore las clases requeridas por Google Maps API, se añaden las siguientes líneas de código en proguard-project.txt:
-keep class * extends java.util.ListResourceBundle { protected Object[][] getContents(); } -keep public class com.google.android.gms.common.internal.safeparcel.SafeParcelable { public static final *** NULL; } -keepnames @com.google.android.gms.common.annotation.KeepName class * -keepclassmembernames class * { @com.google.android.gms.common.annotation.KeepName *; } -keepnames class * implements android.os.Parcelable { public static final ** CREATOR; }
Requerido para usar el API
Para obtenerlo, se necesita un «SHA-1 fingerprint»
Por defecto, se tiene uno para depuración, en Windows->Preferences
Con esto, en la consola de APIs de Google, se puede generar la llave para el API de Google Maps
La llave se «agrega» en el «manifest»
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="AIzaSyDljO1HsESWzUQV6jkqP2oE1NM9h-2dKm0" />
En el «manifest», se especifican algunos permisos para el dispositivo:
<uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/> <!-- The following two permissions are not required to use Google Maps Android API v2, but are recommended. --> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
Se añade un «fragment» a la interfaz gráfica que carga el mapa de Google:
<?xml version="1.0" encoding="utf-8"?>
<fragment
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:name="com.google.android.gms.maps.MapFragment"/>
Algunos de los pasos que se hacen aquí son similares a los requeridos para publicar la app en Play Store
El mapa es una instancia de la clase ‘GoogleMap’: private static GoogleMap map;
Para inicializarlo… map =
((MapFragment)getActivity().getFragmentManager().
findFragmentById(R.id.map)).getMap();
Ícono sobre el mapa que indica una posición dada:
// Especificar longitud y latitud del
mapa
LatLng latLng = new LatLng(4.674523,
-74.053362);
//Añadir marcador de prueba
Marker marker = map.addMarker(new
MarkerOptions().position(latLng).title("Marcador de
prueba"));
Se puede manipular el mapa para que automáticamente me muestre un punto «de cerca»
//Acercarse al marcador de prueba
map.animateCamera(CameraUpdateFactory.
newLatLngZoom(latLng, 15));
//Acercarse a dos marcadores
LatLngBounds.Builder builder = new
LatLngBounds.Builder();
builder.include(latLng);
builder.include(latLng2);
LatLngBounds bounds = builder.build();
map.animateCamera(CameraUpdateFactory.
newLatLngBounds(bounds, 500,500, 0));
Top Related