Menampilkan Lokasi Dikala Ini Pada Maps Android Dengan Google Maps Api

Hai sobat, ketemu lagi dengan saya di artikel perihal pemrograman android. Pada artikel sebelumnya saya terlah menjelaskan perihal Cara Menampilkan Map di Aplikasi Android Menggunakan Google Maps API di Androud Studio. Dan pada kali ini saya akan memperlihatkan Cara Praktis Menampilkan Lokasi Perangkat Saat Ini di Maps Androd.

 ketemu lagi dengan saya di artikel perihal pemrograman android Menampilkan Lokasi Saat Ini pada Maps Android dengan Google Maps API

Dalam pembuatan aplikasi android, kita sanggup menambahakan banyak sekali fitur ke dalam aplikasi yang dibuat. Salah satu fitur unggulan dalam apliaksi android yaitu fitur menampilkan lokasi di Maps Android. Dan untuk menampilkan lokasi di maps android juga sangat gampang alasannya yaitu Google sudah menyiapkan banyak sekali tools dan dokumentasi perihal menampilkan lokasi di maps android, tapi untuk yang gres berguru mungkin akan sedikit membingungkan. *seperti yg saya rasakan 😂 

Oke, dalam artikel ini saya akan meneruskan artikel saya sebelumnya, silahkan sanggup mencobana atau pribadi ke tahap ini.

Menampilkan Maps Android dengan Google Maps API di Android Studio

Pada artikel ini kita akan menampilkan lokasi perangkat dikala ini (MyLocation) di Maps Android. Untuk melakukanya kita memanfaatkan pengaturan pada komponen Maps Android yaitu .setMyLocationEnabled(). Dengan mengaktifkan pengaturan ini, maps akan menampilkan My-Location Layer dan memperlihatkan indikasi lokasi, serta menampilkan tampilan tombol untuk berinteraksi dengan lokasi perangkat. Tetapi untuk memakai pengaturan Maps Android ini, kita perlu menambahkan user permission pada perangkat untuk android versi Marshmallow (API 23) ke atas yaitu permission ACCESS_COARSE_LOCATION atau ACCESS_FINE_LOCATION. Untuk perangkat versi dibawah API 23 tidak memerlukan ajakan uses permission.

Nah itu sedikit teorinya, kini saatnya mengimplementasikan ke dalam aplikasi :

Pembuatan Project

Seperti yang saya sampaikan sebelumnya, artikel ini menggunkaan project dari artikel sebelumnya.

Pembuatan Tampilan

Tampilannya masih sama, tidak ada yang diubah.

Pembuatan Program Java

Nah di sini kita akan ubah isyarat di dalam file MainActivity.java. Kita implementasikan class MainActivity ke beberapa method class yaitu GoogleMap.OnMyLocationButtonClickListener dan GoogleMap.OnMyLocationClickListener. Untuk lebih jelasnya sahabat sanggup lihat di gamber berikut 

 ketemu lagi dengan saya di artikel perihal pemrograman android Menampilkan Lokasi Saat Ini pada Maps Android dengan Google Maps API

Untuk kodenya ibarat ini

public class MapsActivity extends FragmentActivity implements OnMapReadyCallback         , GoogleMap.OnMyLocationButtonClickListener         , GoogleMap.OnMyLocationClickListener {  ..........  }

Setelah mengimplementasikan class, selanjutnya yaitu menambah isyarat ajakan uses-permission dan memperlihatkan pengaturan MyLocationEnabled serta memberi perintah ketika tombol MyLocation diklik di dalam method onMapReady() ibarat gambar di bawah ini 

 ketemu lagi dengan saya di artikel perihal pemrograman android Menampilkan Lokasi Saat Ini pada Maps Android dengan Google Maps API

Untuk kodenya sanggup diambil dari sini

if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {             if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED                     && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {                 ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.ACCESS_FINE_LOCATION                         , Manifest.permission.ACCESS_COARSE_LOCATION}, 1);             } else {                 mMap.setMyLocationEnabled(true);             }         } else {             mMap.setMyLocationEnabled(true);         }          mMap.setOnMyLocationButtonClickListener(this);         mMap.setOnMyLocationClickListener(this);

Kode di atas yaitu untuk meminta permission jikalau permissionya belum diijinkan di perangakat. Ketika aplikasi sudah mendapatkan pilihan user, maka aplikasi perlu memprosesnya di method gres dengan nama onRequestPermissionsResult(). Jika pengguna mendapatkan ajakan dari aplikasi, maka tombol MyLocation akan tampil di Maps Android. Untuk kodenya sebagai berikut :

@Override     public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {         if (requestCode == 1) {             if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {                 Toast.makeText(this, "Permission Granted", Toast.LENGTH_SHORT).show();                 if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED                         && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) == PackageManager.PERMISSION_GRANTED) {                     mMap.setMyLocationEnabled(true);                 }             } else {                 Toast.makeText(this, "Permission Denied", Toast.LENGTH_SHORT).show();             }         }     }

Selanjtnya kita tambahkan agresi kerika tombol MyLocation diklik maka akan tampil Toast dan ketika tanda lokasinya diklik maka akan menampilkan warta lokasi yang diambil dari variable lokasi.

@Override     public boolean onMyLocationButtonClick() {         Toast.makeText(this, "My Location Button Clicked", Toast.LENGTH_SHORT).show();         return true;     }      @Override     public void onMyLocationClick(@NonNull Location location) {         Toast.makeText(this, "Lokasiku dikala ini : " + location, Toast.LENGTH_LONG).show();     }


Untuk isyarat lengkap file MainActvity.java ibarat di bawah ini

package com.blogspot.blogsetyaaji.firstmap;  import android.Manifest; import android.content.pm.PackageManager; import android.location.Location; import android.os.Build; import android.support.annotation.NonNull; import android.support.v4.app.ActivityCompat; import android.support.v4.app.FragmentActivity; import android.os.Bundle; import android.widget.Toast;  import com.google.android.gms.maps.CameraUpdateFactory; import com.google.android.gms.maps.GoogleMap; import com.google.android.gms.maps.OnMapReadyCallback; import com.google.android.gms.maps.SupportMapFragment; import com.google.android.gms.maps.model.LatLng; import com.google.android.gms.maps.model.MarkerOptions;  public class MapsActivity extends FragmentActivity implements OnMapReadyCallback         , GoogleMap.OnMyLocationButtonClickListener         , GoogleMap.OnMyLocationClickListener {      private GoogleMap mMap;      @Override     protected void onCreate(Bundle savedInstanceState) {         super.onCreate(savedInstanceState);         setContentView(R.layout.activity_maps);         // Obtain the SupportMapFragment and get notified when the map is ready to be used.         SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()                 .findFragmentById(R.id.map);         mapFragment.getMapAsync(this);     }       /**      * Manipulates the map once available.      * This callback is triggered when the map is ready to be used.      * This is where we can add markers or lines, add listeners or move the camera. In this case,      * we just add a marker near Sydney, Australia.      * If Google Play services is not installed on the device, the user will be prompted to install      * it inside the SupportMapFragment. This method will only be triggered once the user has      * installed Google Play services and returned to the app.      */     @Override     public void onMapReady(GoogleMap googleMap) {         mMap = googleMap;          // Add a marker in Sydney and move the camera         LatLng sydney = new LatLng(-34, 151);         mMap.addMarker(new MarkerOptions().position(sydney).title("Marker in Sydney"));         mMap.moveCamera(CameraUpdateFactory.newLatLng(sydney));          if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {             if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED                     && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {                 ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.ACCESS_FINE_LOCATION                         , Manifest.permission.ACCESS_COARSE_LOCATION}, 1);             } else {                 mMap.setMyLocationEnabled(true);             }         } else {             mMap.setMyLocationEnabled(true);         }          mMap.setOnMyLocationButtonClickListener(this);         mMap.setOnMyLocationClickListener(this);     }      @Override     public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {         if (requestCode == 1) {             if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {                 Toast.makeText(this, "Permission Granted", Toast.LENGTH_SHORT).show();                 if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED                         && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) == PackageManager.PERMISSION_GRANTED) {                     mMap.setMyLocationEnabled(true);                 }             } else {                 Toast.makeText(this, "Permission Denied", Toast.LENGTH_SHORT).show();             }         }     }      @Override     public boolean onMyLocationButtonClick() {         Toast.makeText(this, "My Location Button Clicked", Toast.LENGTH_SHORT).show();         return true;     }      @Override     public void onMyLocationClick(@NonNull Location location) {         Toast.makeText(this, "Lokasiku dikala ini : " + location, Toast.LENGTH_LONG).show();     } }  



Menambah Permisson

Tak lupa, ibarat yang tadi saya sampaikan bahwa kita membutuhkan beberapa ijin. Di sini kita tambahkan satu permission lagi yaitu permission  ACCESS_COARSE_LOCATION. kodenya ibarat berikut ini 

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


Menjalankan Aplikasi

Pembuatan aplikasinya sudah selesai, kini aplikasi sudah siap dijalankan. Kurang lebih akan jadi ibarat gambar di bawah 

 ketemu lagi dengan saya di artikel perihal pemrograman android Menampilkan Lokasi Saat Ini pada Maps Android dengan Google Maps API

 ketemu lagi dengan saya di artikel perihal pemrograman android Menampilkan Lokasi Saat Ini pada Maps Android dengan Google Maps API


Oke, sekian artikel tentang Menampilkan Lokasi Saat Ini pada Maps Android dengan Google Maps API, biar bermanfaat. Jika ada pertanyaan, sahabat sanggup berkomentar di bawah. Silahkan sahabat share ke sahabat lainya jikalau sahabat menyukai artikel ini alasannya yaitu membuatkan itu indah. Sampai jumpa di artikel selanjutnya.. 😁

0 Komentar untuk "Menampilkan Lokasi Dikala Ini Pada Maps Android Dengan Google Maps Api"

Back To Top