praktikum x android location api google map filepraktikum x android location api ... • membuat...

14
Praktikum X Android Location API Google Map Pokok Bahasan: Membuat Aplikasi Google Map Tujuan Belajar: Setelah mempelajari modul ini mahasiswa diharapkan mengetahui: Cara membuat aplikasi Google Map Mengenal Koordinat pemetaan (Longitude dan Latitude) Teori Dasar Salah satu ciri mobile phone /tablet pc adalah portabilitas, sehingga tidak mengherankan bahwa beberapa fitur android sangat menarik seperti layanan yang memungkinkan anda menemukan, mencari serta menvisualisasikan posisi kita ke dalam peta lokasi fisik (google maps). Percobaan 1: 1. Buat project baru 2. Tambahkan coding berikut pada main.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Latitude:" android:textSize="20dip"/> <TextView android:id="@+id/txtLat" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="" />

Upload: lekhanh

Post on 13-Mar-2019

255 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Praktikum X Android Location API Google Map filePraktikum X Android Location API ... • Membuat Aplikasi Google Map Tujuan Belajar: Setelah mempelajari modul ini mahasiswa diharapkan

Praktikum X

Android Location API

Google Map Pokok Bahasan:

• Membuat Aplikasi Google Map

Tujuan Belajar:

Setelah mempelajari modul ini mahasiswa diharapkan mengetahui:

• Cara membuat aplikasi Google Map

• Mengenal Koordinat pemetaan (Longitude dan Latitude)

Teori Dasar

Salah satu ciri mobile phone /tablet pc adalah portabilitas, sehingga tidak mengherankan bahwa

beberapa fitur android sangat menarik seperti layanan yang memungkinkan anda menemukan, mencari

serta menvisualisasikan posisi kita ke dalam peta lokasi fisik (google maps).

Percobaan 1:

1. Buat project baru

2. Tambahkan coding berikut pada main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:orientation="vertical" >

<TextView

android:id="@+id/textView1"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="Latitude:"

android:textSize="20dip"/>

<TextView

android:id="@+id/txtLat"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="" />

Page 2: Praktikum X Android Location API Google Map filePraktikum X Android Location API ... • Membuat Aplikasi Google Map Tujuan Belajar: Setelah mempelajari modul ini mahasiswa diharapkan

<TextView

android:id="@+id/textView2"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="Longitude:"

android:textSize="20dip"/>

<TextView

android:id="@+id/txtLong"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text=""

/>

</LinearLayout>

3. Tambahkan coding dibawah pada file activity:

package com.locationapi;

import android.location.Criteria;

import android.location.Location;

import android.location.LocationListener;

import android.location.LocationManager;

import android.os.Bundle;

import android.widget.TextView;

import android.widget.Toast;

import android.app.Activity;

import android.content.Context;

public class LokasiActivity extends Activity implements LocationListener {

private TextView latituteField;

private TextView longitudeField;

private LocationManager locationManager;

private String provider;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

latituteField = (TextView) findViewById(R.id.txtLat);

Page 3: Praktikum X Android Location API Google Map filePraktikum X Android Location API ... • Membuat Aplikasi Google Map Tujuan Belajar: Setelah mempelajari modul ini mahasiswa diharapkan

longitudeField = (TextView) findViewById(R.id.txtLong);

locationManager=(LocationManager) getSystemService(Context.LOCATION_SERVICE);

Criteria criteria = new Criteria();

provider = locationManager.getBestProvider(criteria, false);

Location location = locationManager.getLastKnownLocation(provider);

if (location != null) {

System.out.println("Provider " + provider + " has been selected.");

onLocationChanged(location);

} else {

latituteField.setText("Lokasi tidak tersedia");

longitudeField.setText("Lokasi tidak tersedia");

}

}

protected void onResume() {

super.onResume();

locationManager.requestLocationUpdates(provider, 400, 1, this);

}

protected void onPause() {

super.onPause();

locationManager.removeUpdates(this);

}

@Override

public void onLocationChanged(Location location) {

// TODO Auto-generated method stub

float lat = (float) (location.getLatitude());

float lng = (float) (location.getLongitude());

latituteField.setText(String.valueOf(lat));

longitudeField.setText(String.valueOf(lng));

}

@Override

public void onProviderDisabled(String provider) {

// TODO Auto-generated method stub

Toast.makeText(this, "Disabled provider " + provider,

Toast.LENGTH_SHORT).show();

}

Page 4: Praktikum X Android Location API Google Map filePraktikum X Android Location API ... • Membuat Aplikasi Google Map Tujuan Belajar: Setelah mempelajari modul ini mahasiswa diharapkan

@Override

public void onProviderEnabled(String provider) {

// TODO Auto-generated method stub

Toast.makeText(this, "Enabled new provider " + provider,

Toast.LENGTH_SHORT).show();

}

@Override

public void onStatusChanged(String provider, int status, Bundle extras) {

// TODO Auto-generated method stub

}

}

4. Tambahkan 3 uses-permission berikut pada AndroidManifest.xml:

<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns:android="http://schemas.android.com/apk/res/android"

package="com.locationapi"

android:versionCode="1"

android:versionName="1.0" >

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

<uses-permission android:name="android.permission.INTERNET" />

<uses-sdk

android:minSdkVersion="8"

android:targetSdkVersion="17" />

<application

android:allowBackup="true"

android:icon="@drawable/ic_launcher"

android:label="@string/app_name"

android:theme="@style/AppTheme" >

<activity

android:name="com.locationapi.LokasiActivity"

android:label="@string/app_name" >

<intent-filter>

<action android:name="android.intent.action.MAIN" />

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

</intent-filter>

</activity>

</application>

</manifest>

Page 5: Praktikum X Android Location API Google Map filePraktikum X Android Location API ... • Membuat Aplikasi Google Map Tujuan Belajar: Setelah mempelajari modul ini mahasiswa diharapkan

5. Pilih DDMS > Emulator Control > ubah nilai Longitude dan Latitude > klik Send > amati

perubahan yang terjadi pada emulator.

Page 6: Praktikum X Android Location API Google Map filePraktikum X Android Location API ... • Membuat Aplikasi Google Map Tujuan Belajar: Setelah mempelajari modul ini mahasiswa diharapkan

Percobaan 2:

Persiapan Device

1. Install Google Play Service pada Android SDK manager

2. Import project yang berada dalam …sdk\extras\google\google_play_services\libproject

Dengan cara File > Import > adroid > Existing android project into workspace > browse > pilih folder

libproject tersebut.

3. Buka command prompt dan ketik:

keytool -list -v -alias androiddebugkey -keystore C:\Users\<nama user>\.android\debug.keystore -

storepass android -keypass android

Page 7: Praktikum X Android Location API Google Map filePraktikum X Android Location API ... • Membuat Aplikasi Google Map Tujuan Belajar: Setelah mempelajari modul ini mahasiswa diharapkan

4. Buka https://code.google.com/apis/console/, pilih services dan aktifkan Google Maps Android API

v2.

5. Pilih API Access > Create new Android key

Page 8: Praktikum X Android Location API Google Map filePraktikum X Android Location API ... • Membuat Aplikasi Google Map Tujuan Belajar: Setelah mempelajari modul ini mahasiswa diharapkan

6. Isi kode SHA1 yang terdapat pada cmd beserta nama package project yang akan dibuat.

7. Jalankan Android Virtual Device dan install google play service melalui cmd setelah AVD selesai

booting:

Page 9: Praktikum X Android Location API Google Map filePraktikum X Android Location API ... • Membuat Aplikasi Google Map Tujuan Belajar: Setelah mempelajari modul ini mahasiswa diharapkan

Pembuatan Program

1. Buat android project baru:

2. Tambahkan Project library yang telah didownload.

Page 10: Praktikum X Android Location API Google Map filePraktikum X Android Location API ... • Membuat Aplikasi Google Map Tujuan Belajar: Setelah mempelajari modul ini mahasiswa diharapkan

3. Activity_Main.xml

<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"

android:paddingBottom="@dimen/activity_vertical_margin"

android:paddingLeft="@dimen/activity_horizontal_margin"

android:paddingRight="@dimen/activity_horizontal_margin"

android:paddingTop="@dimen/activity_vertical_margin"

tools:context=".MapActivity" >

<fragment

android:id="@+id/map"

android:name="com.google.android.gms.maps.MapFragment"

android:layout_below="@+id/btnRsj"

android:layout_width="match_parent"

android:layout_height="match_parent"

/>

<Button

android:id="@+id/btnUnsada"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_above="@+id/map"

android:layout_alignLeft="@+id/map"

android:onClick="onClick_Unsada"

android:text="Unsada" />

<Button

android:id="@+id/btnRsj"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_alignParentTop="true"

android:layout_centerHorizontal="true"

android:layout_marginTop="14dp"

android:onClick="onClick_Rsj"

android:text="RSJ" />

<Button

android:id="@+id/btnRagunan"

android:layout_width="wrap_content"

Page 11: Praktikum X Android Location API Google Map filePraktikum X Android Location API ... • Membuat Aplikasi Google Map Tujuan Belajar: Setelah mempelajari modul ini mahasiswa diharapkan

android:layout_height="wrap_content"

android:layout_above="@+id/map"

android:layout_alignRight="@+id/map"

android:onClick="onClick_Ragunan"

android:text="Ragunan" />

</RelativeLayout>

4. AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns:android="http://schemas.android.com/apk/res/android"

package="com.mapapp"

android:versionCode="1"

android:versionName="1.0" >

<uses-sdk

android:minSdkVersion="8"

android:targetSdkVersion="17" />

<permission

android:name="com.mapapp.permission.MAPS_RECEIVE"

android:protectionLevel="signature" />

<uses-feature

android:glEsVersion="0x00020000"

android:required="true" />

<uses-permission android:name="com.mapapp.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" >

<meta-data

android:name="com.google.android.maps.v2.API_KEY"

android:value="AIzaSyAd7Pygd2Dhw19VgbfJyjk6jgurAEJsH60"/>

Page 12: Praktikum X Android Location API Google Map filePraktikum X Android Location API ... • Membuat Aplikasi Google Map Tujuan Belajar: Setelah mempelajari modul ini mahasiswa diharapkan

<activity

android:name="com.mapapp.MapActivity"

android:label="@string/app_name" >

<intent-filter>

<action android:name="android.intent.action.MAIN" />

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

</intent-filter>

</activity>

</application>

</manifest>

5. MapActivity.java

package com.mapapp;

import android.os.Bundle;

import android.app.Activity;

import android.view.Menu;

import android.view.View;

import com.google.android.gms.maps.CameraUpdate;

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.LatLng;

import com.google.android.gms.maps.model.MarkerOptions;

public class MapActivity extends Activity {

private final LatLng LOCATION_UNSADA = new LatLng(-6.229671,

106.924331); //lokasi unsada

private final LatLng LOCATION_RSJ = new LatLng(-6.168033, 106.798181);

//lokasi rsj

private final LatLng LOCATION_RAGUNAN = new LatLng(-6.309532,

106.820370); //lokasi ragunan

private GoogleMap map;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

map = ((MapFragment)

getFragmentManager().findFragmentById(R.id.map)).getMap();

map.addMarker(new

MarkerOptions().position(LOCATION_UNSADA).title("Saya kuliah disini!"));

Page 13: Praktikum X Android Location API Google Map filePraktikum X Android Location API ... • Membuat Aplikasi Google Map Tujuan Belajar: Setelah mempelajari modul ini mahasiswa diharapkan

map.addMarker(new

MarkerOptions().position(LOCATION_RSJ).title("Saya berobat kesini!"));

map.addMarker(new

MarkerOptions().position(LOCATION_RAGUNAN).title("Saya tinggal disini!"));

}

@Override

public boolean onCreateOptionsMenu(Menu menu) {

// Inflate the menu; this adds items to the action bar if it is

present.

getMenuInflater().inflate(R.menu.map, menu);

return true;

}

public void onClick_Unsada(View v) {

map.setMapType(GoogleMap.MAP_TYPE_TERRAIN);

CameraUpdate update =

CameraUpdateFactory.newLatLngZoom(LOCATION_UNSADA, 14);

map.animateCamera(update);

}

public void onClick_Rsj(View v) {

map.setMapType(GoogleMap.MAP_TYPE_NORMAL);

CameraUpdate update =

CameraUpdateFactory.newLatLngZoom(LOCATION_RSJ, 16);

map.animateCamera(update);

}

public void onClick_Ragunan(View v) {

map.setMapType(GoogleMap.MAP_TYPE_SATELLITE);

CameraUpdate update =

CameraUpdateFactory.newLatLngZoom(LOCATION_RAGUNAN, 15);

map.animateCamera(update);

}

}

Page 14: Praktikum X Android Location API Google Map filePraktikum X Android Location API ... • Membuat Aplikasi Google Map Tujuan Belajar: Setelah mempelajari modul ini mahasiswa diharapkan

6. Jalankan Aplikasi

Bila masih bingung bisa hubungi :

[email protected]