jueves, 16 de julio de 2015

Google Maps en Android

Hola, vamos a hacer una aplicación usando el API de google maps.
Primero crearemos el proyecto.
A continuación elegiremos la versión de android con la que trabajaremos.
Ahora elegiremos la Activity de mapas que se nos da por defecto.

Le asignamos el nombre que deseemos.
Y nos posicionamos en google_maps_api.xml, en su proyecto esta en la carpeta de values.

De aquí seleccionamos el link que viene en los comentarios y  accedemos a el en nuestro navegador, es la linea completa solo tache información de las direcciones y claves que se generan por desarrollador.
En la pagina solo crearemos las credenciales, solo es cuestión de aceptar términos y condiciones y dar siguiente, y nos mandara a una pagina que contendrá una tabla como esta:
Esta clave nos sirve para muchas aplicaciones pero se distribuye por desarrollador, no la podemos pasar a otras personas, por si hicieran mal uso de esto. Lo siguiente es copiar la clave que esta en la columna derecha la tabla que les mostré, la "Calve de la API". Solo seleccionamos y copiamos.
Ahora nos vamos a google_maps_api.xml de nuestro proyecto.

Aquí lo que haremos es sustituir la leyenda "YOUR KEY_HERE" por la clave de la API que acabamos de copiar.

Y ahora nos dirigimos a la clase MapsActivity.java y  nos aseguramos que nuestro código se asemeje a este:

package com.example.ultron.practicamapasauge; //Aqui es el nombre del paquete de su proyecto

import android.support.v4.app.FragmentActivity;
import android.os.Bundle;

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

public class MapsActivity extends FragmentActivity implements OnMapReadyCallback {

    private GoogleMap mMap;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_maps);
        setUpMapIfNeeded();
        SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
                .findFragmentById(R.id.map);
        mapFragment.getMapAsync((OnMapReadyCallback) this);
    }

    @Override
    protected void onResume() {
        super.onResume();
        setUpMapIfNeeded();
    }

    private void setUpMapIfNeeded() {
       if (mMap == null) {
            mMap = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map))
                    .getMap();
            if (mMap != null) {

            }
        }
    }

    @Override
    public void onMapReady(GoogleMap googleMap) {
        LatLng CUCEI = new LatLng(20.656945, -103.324512); //Enviamos coordenadas de nuestro objeto de latitudes
        googleMap.addMarker(new MarkerOptions().position(CUCEI).title("CUCEI"));//Agregamos la marca con su titulo
        googleMap.moveCamera(CameraUpdateFactory.newLatLng(CUCEI));//Movemos la camara a donde correspone la marca que hicimos.
    }
}

Ya teniendo esto, corremos nuestra aplicación y lo que debe de aparecernos en nuestra pantalla es lo siguiente:
Pueden agregar cuantas marcas ustedes deseen en el metodo onMapReady.

Para obtener las latitudes de un sitio, solo se van a Maps y buscan el sitio al que desean hacer referencia en su aplicación.

Damos click derecho sobre la marca.

Y elegimos la opción ¿Que hay aquí?
Y nos devolverá las latitudes del sitio del marcador, las copiamos y las llevamos al objeto LatLng que usaremos para la respectiva marca.
Espero les sea de utilidad este tutorial, gracias por su atención.

Fuentes:
https://developers.google.com/maps/documentation/android/start consultada el 16 de julio del 2015

No hay comentarios:

Publicar un comentario