Ahora si, luego del
post introductorio y el ejemplo de una
caja de texto, un botón y un popup vamos a desarrollar algo mas interesante…
Vamos a trabajar en una aplicación sobre GoogleMaps y veremos que va saliendo…
Proyecto
Propiedades del proyecto | Primero debemos crear un nuevo proyecto, similar a los proyectos que venimos creando, con el detalle que en Target elegimos “Google APIs”. para las demás propiedades, en mi caso elegí:
Proyect name: MyGoogleMaps
Application name: My Google Maps
Package: com.neluz.MyGoogleMaps
Activity: MyGoogleMapsActivity
|
El proyecto debería quedarnos algo así. |
AndroidManifiest.xml
Como ya vimos, aquí configuramos parte de la aplicación, en este caso queremos decirle que vamos a usar la librería del mapa (línea 8) y que vamos a acceder a internet (línea 20), esto último va a ser necesario para conectarnos al servidor de Google Maps:
1: <?xml version="1.0" encoding="utf-8"?>
2: <manifest xmlns:android="http://schemas.android.com/apk/res/android"
3: package="com.neluz.MyGoogleMaps"
4: android:versionCode="1"
5: android:versionName="1.0">
6: <application android:icon="@drawable/icon" android:label="@string/app_name">
7:
8: <uses-library android:name="com.google.android.maps" />
9:
10: <activity android:name=".MyGoogleMapsActivity"
11: android:label="@string/app_name">
12: <intent-filter>
13: <action android:name="android.intent.action.MAIN" />
14: <category android:name="android.intent.category.LAUNCHER" />
15: </intent-filter>
16: </activity>
17:
18: </application>
19:
20: <uses-permission android:name="android.permission.INTERNET" />
21:
22: </manifest>
Layout
Como ya vimos, el layout de nuestra aplicación la definimos en res/layout/main.xml. En esta oportunidad vamos a poner un mapa como único contenedor:
1: <?xml version="1.0" encoding="utf-8"?>
2: <com.google.android.maps.MapView
3: xmlns:android="http://schemas.android.com/apk/res/android"
4: android:id="@+id/mapview"
5: android:layout_width="fill_parent"
6: android:layout_height="fill_parent"
7: android:clickable="true"
8: android:apiKey="Your Maps API Key goes here"
9: />
En api key donde dice “Your Maps API Key goes here” debemos indicar la llave que necesitaremos para conectarnos a Google Maps, si tenemos un problema con ella la aplicación iniciará pero quedará en blanco el mapa. Sobre este tema vamos a volver mas adelante en este post, primero quiero mostrarles como se ve la aplicación sin esta llave.
MyGoogleMapsActivity
Como también vimos en los post anteriores, la activity es la que contiene la lógica de nuestra UI, por lo tanto aquí vamos a extender la clase com.google.android.maps.MapActivity:
1: package com.neluz.MyGoogleMaps;
2:
3: import com.google.android.maps.MapActivity;
4: import android.os.Bundle;
5:
6: public class MyGoogleMapsActivity extends MapActivity {
7: /** Called when the activity is first created. */
8: @Override
9: public void onCreate(Bundle savedInstanceState) {
10: super.onCreate(savedInstanceState);
11: setContentView(R.layout.main);
12: }
13:
14: @Override
15: protected boolean isRouteDisplayed() {
16: return false;
17: }
18: }
al extender esta MapActivity en lugar de Activity tenemos que implementar el método: isRouteDisplayed() que por ahora dejamos la implementación por defecto: return false;
Ejecutando sin la llave
Si en este momento ejecutamos la aplicación, deberíamos obtener algo como la imagen de la derecha, es decir, el mapa en blanco. |
|
Obtener la llave
Primero vamos a ejecutar el comando keytool que podemos encontrar en el JDK de java de la siguiente manera para obtener el fingerprint:
|
Windows: C:\Documents and Settings\<user>\.android>keytool -list -alias androiddebugkey -keystore debug.keystore -storepass android -keypass android
Linux: ~/.android$ keytool -list -alias androiddebugkey -keystore debug.keystore -storepass android -keypass android
|
|
luego nos dirigimos a
Sign Up for the Android Maps API para generar la llave (api key), leemos y aceptamos los términos y condiciones, ingresamos el fingerprint obtenido y presionamos Generarte API Key. Es muy importante destacar que en este caso estamos trabajando con una key que nos va a servir para desarrollo, cuando queramos hacer un release de nuestra aplicación deberemos obtener una key para tal fin. Esta key que obtuvimos la debemos colocar en el archivo res/layout/main.xml donde dice: android:apiKey en lugar de “Your Maps API Key goes here”.
|
Con esto, nuestra aplicación debería ya conectarse al servidor de google y bajar los mapas, luciendo como la imagen de la derecha. |
Referencias
Google Map View
Disculpe porque el google maps de mi aplicacion solo se ve en el emulador de la computadora pero en un android real no se puede ver, solo sale el marcado y el mapa no sale , le agradeceria mucho si me dice por favor.
ResponderBorrarSi afirmas que en el emulador corre muy bien tal vez sea el min: sdk version de tu telefono ya que el target de tu app debe ser mayor.
ResponderBorrar