• Tidak ada hasil yang ditemukan

Cara membuat aplikasi Google Map Mengenal Koordinat pemetaan (Longitude dan Latitude)

N/A
N/A
Protected

Academic year: 2021

Membagikan "Cara membuat aplikasi Google Map Mengenal Koordinat pemetaan (Longitude dan Latitude)"

Copied!
14
0
0

Teks penuh

(1)

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

(2)

<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);

(3)

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();

(4)

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

(5)

5. Pilih DDMS > Emulator Control > ubah nilai Longitude dan Latitude > klik Send > amati perubahan yang terjadi pada emulator.

(6)

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

(7)

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

(8)

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:

(9)

Pembuatan Program

1. Buat android project baru:

(10)

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"

(11)

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

(12)

<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

(13)

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); } }

(14)

6. Jalankan Aplikasi

Bila masih bingung bisa hubungi : Brianlasta@gmail.com

Referensi

Dokumen terkait

Berdasarkan hasil penelitian yang telah dilakukan pada Universitas Bina Darma Beasiswa Bidik Misi, maka didapatkan hasil akhir sebuah sistem yaitu Sistem pendukung

Ciri teori belajar dari pernyataan bahwa seorang guru melakukan pembelajaran dengan memberikan kebebasan yang luas kepada siswa untuk menentukan apa

5 Tahun 1969 yang telah diganti dengan Undang-Undang Pokok Kehutanan (UUPK) No. 167) , dalam Penjelasan Umum disebutkan bahwa sejalan dengan Pasal 33 UUD 1945 sebagai

(1) Untuk memperoleh izin sebagaimana dimaksud dalam pasal 26, Kepala Dinas Kesehatan Kabupaten/Kota mengajukan permohonan tertulis kepada Bupati/Walikota melalui

Berdasarkan hasil analisis data dan pemba- hasan yang telah diurai, maka dapat diambil kesimpulan bahwa variabel PDRB di kota DIY pada tahun 2006-2012 dipengaruhi oleh Pena-

Lalu masuk kedalam Reverse Osmosis Unit 1 dan 2, yang bekerja untuk memproduksi air bersih dan hasilnya masuk ke Reverse Osmosis Tank untuk pembuangannya (reject)

Berdasarkan hasil penelitian yang didapatkan bahwa ekstrak etanol daun Sirih ( Piper betle L) berpengaruh terhadap proses spermatogenesis pada tikus putih jantan

Epitel simpleks (Epitel pipih selapis). Ciri-cirinya, sitoplasma jernih, inti sel bulat terletak di tengah. Epitel ini terletak di pleura, alveolus paru-paru, kapsul bowman