Tuesday, 22 April 2014

Belajar Android Menampilkan Map dengan Android GoogleMaps API V2

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


01<?xml version="1.0" encoding="utf-8"?>
02<manifest xmlns:android="http://schemas.android.com/apk/res/android"
03    package="net.agusharyanto.petalokasi"
04    android:versionCode="1"
05    android:versionName="1.0" >
06 
07    <uses-sdk
08        android:minSdkVersion="11"
09        android:targetSdkVersion="17" />
10 
11    <permission
12        android:name="net.agusharyanto.petalokasi.permission.MAPS_RECEIVE"
13        android:protectionLevel="signature" />
14 
15    <uses-feature
16        android:glEsVersion="0x00020000"
17        android:required="true" />
18 
19    <uses-permission android:name="net.agusharyanto.petalokasi.permission.MAPS_RECEIVE" />
20    <uses-permission android:name="android.permission.INTERNET" />
21    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
22    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
23    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
24    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
25    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
26 
27    <application
28        android:allowBackup="true"
29        android:icon="@drawable/ic_launcher"
30        android:label="@string/app_name"
31        android:theme="@style/AppTheme" >
32        <activity
33            android:name="net.agusharyanto.petalokasi.MainActivity"
34            android:label="@string/app_name" >
35            <intent-filter>
36                <action android:name="android.intent.action.MAIN" />
37 
38                <category android:name="android.intent.category.LAUNCHER" />
39            </intent-filter>
40        </activity>
41 
42        <meta-data
43            android:name="com.google.android.maps.v2.API_KEY"
44            android:value="AIzaSyAkJYisD9-6HB8D1ggkkWKZVtgNCLg8Fyk" />
45        <meta-data
46            android:name="com.google.android.gms.version"
47            android:value="@integer/google_play_services_version" />
48    </application>
49 
50</manifest>

8. Edit file activity_main.xml lalu ketikan kode berikut

01<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
02    xmlns:tools="http://schemas.android.com/tools"
03    android:layout_width="match_parent"
04    android:layout_height="match_parent"
05    tools:context=".MainActivity" >
06 
07    <fragment
08        android:id="@+id/map"
09        android:layout_width="match_parent"
10        android:layout_height="match_parent"
11        class="com.google.android.gms.maps.MapFragment" />
12 
13</RelativeLayout>
9. Edit class MainActivity.java lalu ketikan kode berikut
01package net.agusharyanto.petalokasi;
02 
03import android.app.Activity;
04import android.os.Bundle;
05import android.view.Menu;
06 
07import com.google.android.gms.maps.CameraUpdateFactory;
08import com.google.android.gms.maps.GoogleMap;
09import com.google.android.gms.maps.MapFragment;
10import com.google.android.gms.maps.model.BitmapDescriptorFactory;
11import com.google.android.gms.maps.model.LatLng;
12import com.google.android.gms.maps.model.Marker;
13import com.google.android.gms.maps.model.MarkerOptions;
14 
15public class MainActivity extends  Activity {
16      static final LatLng RAGUNAN = new LatLng(-6.3039, 106.8267);
17      static final LatLng TAMANMINI = new LatLng(-6.29436, 106.8859);
18      private GoogleMap map;
19 
20      @Override
21      protected void onCreate(Bundle savedInstanceState) {
22        super.onCreate(savedInstanceState);
23        setContentView(R.layout.activity_main);
24        map = ((MapFragment) getFragmentManager().findFragmentById(R.id.map))
25            .getMap();
26        Marker ragunan = map.addMarker(new MarkerOptions().position(RAGUNAN)
27            .title("Ragunan"));
28        Marker tamanmini = map.addMarker(new MarkerOptions()
29            .position(TAMANMINI)
30            .title("Taman Mini")
31            .snippet("Taman Mini itu Indah")
32            .icon(BitmapDescriptorFactory
33                .fromResource(R.drawable.ic_launcher)));
34 
35        // Move the camera instantly to hamburg with a zoom of 15.
36        map.moveCamera(CameraUpdateFactory.newLatLngZoom(RAGUNAN, 15));
37 
38        // Zoom in, animating the camera.
39        map.animateCamera(CameraUpdateFactory.zoomTo(10), 2000, null);
40      }
41 
42      @Override
43      public boolean onCreateOptionsMenu(Menu menu) {
44        getMenuInflater().inflate(R.menu.main, menu);
45        return true;
46      }
47 
48    }

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.



 

1 comment:

  1. Saya pernah lihat tulisan diatas pada sumber aslinya pada http://agusharyanto.net.

    Jika kita menggunakan referensi dari sumber lain,

    sebaiknya sebutkan sumbernya.

    Maaf dan Terimakasih.

    ReplyDelete