Belajar Android Menampilkan Map dengan Android GoogleMaps API V2

Pada tutorial sebelumnya tentang Map kita sudah berhasil menampilkan map dan marker pada android dengan menggunakan Android GoogleMaps v1. Tetapi sejak bulan maret 2013 pembuatan key untuk Googlemaps V1 sudah tidak bisa lagi. Sehingga mau tidak mau kita harus menggunakan Android GoogleMaps V2. Harus diakui langkah untuk mendapatkan keynya lebih rumit dari yang GoogleMaps V1. Untuk itu pad tuorial ini akan diberikan juga langkah-langkah mendapatkan keynya. Mari kita mulai langkah-langkahnya.

1. Buka Android SDK Manager, Install Google Play Services dari jendela Android SDK Manager klik folder Extra lalu centang Google Play Services

2. Buat New Android Project beri nama PetaLokasi.

    Catat nama packagenya “net.agusharyanto.petalokasi” karena ini akan digunakan untuk membuat API KEY Google Map V2.

3. Langkah selanjutnya adalah menyediakan API KEY Googlemap. Karena saat ini Key untuk GoogleMap API v1 sudah tidak bisa lagi digunakan maka kita harus menggunakan Key GoogleMap API v2.

4.Cari lokasi file debug.keystore biasanya terdapat pada direktori “c:\Users\<user>\.android\debug.keystore” contoh “c:\Users\agus\.android\debug.keystore

5. Masuk kedirektori bin pada java jdk contoh “C:\Program Files\Java\jdk1.7.0_10\bin

6. Jalankan command untuk mendapatkan key sha1 dari debug .keystore

Syntak Commandnya adalah

keytool -list -v -alias androiddebugkey -keystore <path_to_debug_keystore>debug.keystore -storepass android -keypass android

contoh eksekusinya

keytool -list -v -alias androiddebugkey -keystore C:\Users\agus\.android\debug.keystore -storepass android -keypass android

    Catat nilai

    SHA1: 24:97:A6:EB:22:24:B7:5C:A0:78:F1:96:12:FE:97:27:5A:DB:8D:0D

Registerkan Key diatasi melalui Google Api Console (https://code.google.com/apis/console/?pli=1 ) . Untuk masuk kesini kita harus punya Account GMAIL

    Klik Create project… akan muncul jendela Google apis

Aktifkan Google Maps Android API V2

Sekarang Saatnya membuat Key untuk aplikasinya. Pada Google Apis klik API Access

isikan dengan

24:97:A6:EB:22:24:B7:5C:A0:78:F1:96:12:FE:97:27:5A:DB:8D:0D;net.agusharyanto.petalokasi

Klik Create

Catat API Keynya, ini akan digunakan dalam aplikasi.

AizaSyAkJYisD9-6HB8D1ggkkWKZVtgNCLg8Fyk

Langkah selanjutnya kita harus menginclude Google Play Services sebagai library projectnya.Hal yang harus dilakukan terlibuh dahulu adalah mengimport Project Google Play Service Library ke workspace saat ini. Klik Import Android Project, set Root Directory ke direktori kita menginstall Google Play Service, misalnya saja “C:\Program Files (x86)\Android\android-sdk\extras\google\google_play_services\libproject\google-play-services_lib”

Centang Copy projects into workspace

Selanjutnya adalah menyertakan library ini dalam project kita. Caranya klik kanan pada project PetaLokasi lalu pilih properties

7. Kita harus mendaftarkan Key yang kita dapat pada AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="net.agusharyanto.petalokasi"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="11"
        android:targetSdkVersion="17" />

    <permission
        android:name="net.agusharyanto.petalokasi.permission.MAPS_RECEIVE"
        android:protectionLevel="signature" />

    <uses-feature
        android:glEsVersion="0x00020000"
        android:required="true" />

    <uses-permission android:name="net.agusharyanto.petalokasi.permission.MAPS_RECEIVE" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="net.agusharyanto.petalokasi.MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <meta-data
            android:name="com.google.android.maps.v2.API_KEY"
            android:value="AIzaSyAkJYisD9-6HB8D1ggkkWKZVtgNCLg8Fyk" />
        <meta-data
            android:name="com.google.android.gms.version"
            android:value="@integer/google_play_services_version" />
    </application>

</manifest>

8. Edit file activity_main.xml lalu ketikan kode berikut

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity" >

    <fragment
        android:id="@+id/map"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        class="com.google.android.gms.maps.MapFragment" />

</RelativeLayout>


9. Edit class MainActivity.java lalu ketikan kode berikut

package net.agusharyanto.petalokasi;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;

import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.MapFragment;
import com.google.android.gms.maps.model.BitmapDescriptorFactory;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.Marker;
import com.google.android.gms.maps.model.MarkerOptions;

public class MainActivity extends  Activity {
	  static final LatLng RAGUNAN = new LatLng(-6.3039, 106.8267);
	  static final LatLng TAMANMINI = new LatLng(-6.29436, 106.8859);
	  private GoogleMap map;

	  @Override
	  protected void onCreate(Bundle savedInstanceState) {
	    super.onCreate(savedInstanceState);
	    setContentView(R.layout.activity_main);
	    map = ((MapFragment) getFragmentManager().findFragmentById(R.id.map))
	        .getMap();
	    Marker ragunan = map.addMarker(new MarkerOptions().position(RAGUNAN)
	        .title("Ragunan"));
	    Marker tamanmini = map.addMarker(new MarkerOptions()
	        .position(TAMANMINI)
	        .title("Taman Mini")
	        .snippet("Taman Mini itu Indah")
	        .icon(BitmapDescriptorFactory
	            .fromResource(R.drawable.ic_launcher)));

	    // Move the camera instantly to hamburg with a zoom of 15.
	    map.moveCamera(CameraUpdateFactory.newLatLngZoom(RAGUNAN, 15));

	    // Zoom in, animating the camera.
	    map.animateCamera(CameraUpdateFactory.zoomTo(10), 2000, null);
	  }

	  @Override
	  public boolean onCreateOptionsMenu(Menu menu) {
	    getMenuInflater().inflate(R.menu.main, menu);
	    return true;
	  }

	}

9. Saat ini untuk menjalankan Project yang memggunakan Android GoogleMap V2 tidak bisa langsung di run pada emulator android,

kita perlu install 2 apk yaitu venton.apk dam gms.apk melalui adb command, jadi kalau tidak mau repot run di device langsung,  Mari kita run projectnya

Pertama akan muncul 2 marker, lalu tap lah masing-masing marker akan memunculkan info window.

Semoga Bermanfaat

Agus Haryanto

Pembicara Seminar IT

Trainer Workshop Android

sumber

http://vogella.com

111 comments to Belajar Android Menampilkan Map dengan Android GoogleMaps API V2

Leave a Reply

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>