Secara default, lokasi menarik (POI) muncul pada peta dasar bersama ikonnya. POI mencakup taman, sekolah, gedung pemerintahan, dan lainnya.
Selain itu, POI bisnis muncul secara default pada peta jika jenis peta adalah normal
. POI bisnis mewakili bisnis seperti toko, restoran, hotel, dan lainnya. POI bisnis di peta lantai (denah lantai) hanya muncul pada peta mode ringan.
POI mengacu pada ID Tempat, seperti yang didefinisikan di Places SDK for Android. Misalnya, taman rekreasi adalah POI, tetapi fitur-fitur seperti air mancur umumnya bukan POI (kecuali jika memiliki nilai sejarah atau nasional).
Memproses peristiwa klik pada POI
Jika ingin merespons ketukan pengguna pada suatu POI, Anda dapat menggunakan
OnPoiClickListener
seperti yang ditunjukkan pada contoh kode
berikut:
Kotlin
internal class OnPoiClickDemoActivity : AppCompatActivity(), OnMapReadyCallback, OnPoiClickListener { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.poi_click_demo) val mapFragment = supportFragmentManager.findFragmentById(R.id.map) as SupportMapFragment mapFragment.getMapAsync(this) } override fun onMapReady(map: GoogleMap) { map.setOnPoiClickListener(this) } override fun onPoiClick(poi: PointOfInterest) { Toast.makeText(this, """Clicked: ${poi.name} Place ID:${poi.placeId} Latitude:${poi.latLng.latitude} Longitude:${poi.latLng.longitude}""", Toast.LENGTH_SHORT ).show() } }
Java
class OnPoiClickDemoActivity extends AppCompatActivity implements OnMapReadyCallback, GoogleMap.OnPoiClickListener { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.poi_click_demo); SupportMapFragment mapFragment; mapFragment = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map); mapFragment.getMapAsync(this); } @Override public void onMapReady(GoogleMap map) { map.setOnPoiClickListener(this); } @Override public void onPoiClick(PointOfInterest poi) { Toast.makeText(this, "Clicked: " + poi.name + "\nPlace ID:" + poi.placeId + "\nLatitude:" + poi.latLng.latitude + " Longitude:" + poi.latLng.longitude, Toast.LENGTH_SHORT).show(); } }
POI muncul pada peta secara default, tetapi tidak ada UI on-click default. Artinya, API tidak secara otomatis menampilkan jendela info atau antarmuka pengguna lainnya saat pengguna mengetuk POI.
Seperti yang ditunjukkan contoh di atas, Anda menetapkan
OnPoiClickListener
pada peta dengan
memanggil
GoogleMap.setOnPoiClickListener(OnPoiClickListener)
.
Saat pengguna mengklik (mengetuk) POI, aplikasi Anda menerima
peristiwa OnPoiClick(PointOfInterest)
yang menunjukkan lokasi menarik (POI) yang diklik pengguna. PointOfInterest
berisi koordinat lintang/bujur, ID tempat, dan nama lokasi menarik.
Menghentikan POI agar tidak muncul di peta
Anda dapat menyembunyikan lokasi menarik (POI) dengan menerapkan gaya kustom ke semua POI atau ke kategori POI tertentu.
Deklarasi gaya JSON berikut menyembunyikan semua POI bisnis pada peta:
[
{
"featureType": "poi.business",
"stylers": [
{ "visibility": "off" }
]
}
]
Sebagai contoh lain, JSON berikut menyederhanakan tampilan semua kategori POI:
[
{
"featureType": "poi",
"stylers": [
{ "visibility": "simplified" }
]
}
]
Untuk kode Java dan detail lainnya, lihat panduan untuk menyembunyikan fitur peta dengan penataan gaya.