Manambahkan Marker Dan Menampilkan Nilai Garis Lintang Dan Bujur Dengan Google Maps API Pada Android Studio

Nugroho Ardi Sutrisno 30 Maret 2017

Manambahkan Marker Dan Menampilkan Nilai Garis Lintang Dan Bujur Dengan Google Maps API Pada Android Studio

Dengan memanfaatkan Google Maps API dengan Android Studio kita dapat menandai suatu lokasi dengan menggunakan objek yang disebut marker dan dari marker yang telah dibuat dapat diambil data lokasi berupa koordinat lintang dan bujur atau latitude dan longtitude dari suatu lokasi.

Marker menunjukkan lokasi tunggal pada peta. Anda bisa menyesuaikan marker dengan mengubah warna default, atau mengganti ikon marker dengan gambar custom. Jendela informasi bisa memberikan konteks tambahan pada marker. - https://developers.google.com

Disini akan dijelaskan bagaimana cara membuat sebuah aplikasi android sederhana untuk menampilkan data koordinat lintang dan bujur dari marker yang telah dibuat dengan memanfaatkan Google Maps API yang akan dibangun menggunakan Android Studio. Sebelum memulai diperlukan aplikasi yang sebelumnya dibangun di tutorial Menampilkan Peta Dengan Google Maps API Pada Android Studio dan Menampilkan Lokasi Saat Ini Dengan Maps API Pada Android Studio.

Persiapan

Beberapa hal yang perlu disiapkan antara lain :

  1. Android Studio.
  2. Perangkat android untuk uji coba aplikasi yang akan dibuat, pastikan perangkat terhubung dengan internet dan aktifkan akses lokasi.
  3. Aplikasi android dengan Google Maps API yang sebelumnnya dibuat di tutorial Menampilkan Peta Dengan Google Maps API Pada Android Studio dan Menampilkan Lokasi Saat Ini Dengan Maps API Pada Android Studio.

Menambahkan Marker

Buka MapsActivity.java pada package java, Masukan script dibawah ini pada callback OnLocationChanged di bawah kode mMap.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));

 mMap.setOnMapClickListener(new GoogleMap.OnMapClickListener() {

            @Override
            public void onMapClick(final LatLng point) {
                //Hapus Marker lama jika sebelumnya terdapat marker
                if (mCurrLocationMarker != null) {
                    mCurrLocationMarker.remove();
                }
                //Buat Marker baru
                MarkerOptions marker = new MarkerOptions().position( new LatLng(point.latitude, point.longitude)).title("Lokasi saya");
                mCurrLocationMarker = mMap.addMarker(marker);
                //Masukan baris kode selanjutnya disini
            }
        });

script tersebut berfungsi untuk membuat marker baru setiap suatu area pada map dipilih.

Menampillkan Koordinat

Tambahkan kode dibawah setelah baris mCurrLocationMarker = mMap.addMarker(marker); yang sebelumnya dibuat

                //Menampilkan garis lintang dan bujur pada toast
                String latid = String.valueOf(point.latitude);
                String longtid = String.valueOf(point.longitude);
                Toast.makeText(MapsActivity.this, "Lat : "+latid+" Long : "+longtid, Toast.LENGTH_SHORT).show();

script tersebut berfungsi untuk menampilkan data koordinat lokasi terpilih dengan menggunakan Toast.

Hasil akhir dari callback OnLocationChanged akan terlihat seperti berikut :

@Override
    public void onLocationChanged(Location location) {
        mLastLocation = location;
        if (mCurrLocationMarker != null) {
            mCurrLocationMarker.remove();
        }
        LatLng latLng = new LatLng(location.getLatitude(), location.getLongitude());

        CameraPosition cameraPosition = new CameraPosition.Builder().target(new LatLng(latLng.latitude, latLng.longitude)).zoom(16).build();

        mMap.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));

        mMap.setOnMapClickListener(new GoogleMap.OnMapClickListener() {

            @Override
            public void onMapClick(final LatLng point) {
                //Hapus Marker lama jika sebelumnya terdapat marker
                if (mCurrLocationMarker != null) {
                    mCurrLocationMarker.remove();
                }
                //Buat Marker baru
                MarkerOptions marker = new MarkerOptions().position( new LatLng(point.latitude, point.longitude)).title("Lokasi saya");
                mCurrLocationMarker = mMap.addMarker(marker);
                //Masukan baris kode selanjutnya disini

                //Menampilkan garis lintang dan bujur pada toast
                String latid = String.valueOf(point.latitude);
                String longtid = String.valueOf(point.longitude);
                Toast.makeText(MapsActivity.this, "Lat : "+latid+" Long : "+longtid, Toast.LENGTH_SHORT).show();
            }
        });

        //menghentikan pembaruan lokasi
        if (mGoogleApiClient != null) {
            LocationServices.FusedLocationApi.removeLocationUpdates(mGoogleApiClient, this);
        }
    }

Untuk uji coba aplikasi yang telah dibuat gunakan perangkat android yang terhubung ke android studio dan memiliki koneksi internet serta aktifkan akses lokasi pada pengaturan perangkat android. Jika uji coba berhasil maka akan muncul gambar seperti di bawah ini

Image