โดยค่าเริ่มต้น จุดที่น่าสนใจ (POI) จะปรากฏบนแผนที่ฐานพร้อมกับไอคอนที่เกี่ยวข้อง POI ได้แก่ สวนสาธารณะ โรงเรียน อาคารรัฐบาล และอื่นๆ
นอกจากนี้ POI ธุรกิจ จะปรากฏบนแผนที่โดยค่าเริ่มต้นเมื่อประเภทแผนที่เป็น normal POI ธุรกิจแสดงถึงธุรกิจต่างๆ เช่น ร้านค้า ร้านอาหาร โรงแรม และอื่นๆ POI ธุรกิจบนแผนที่ในอาคาร (ผังพื้น) จะปรากฏในแผนที่
โหมด Lite เท่านั้น
POI จะสอดคล้องกับรหัสสถานที่ตามที่กำหนดไว้ใน Places SDK สำหรับ Android ตัวอย่างเช่น สวนสาธารณะเพื่อการพักผ่อนหย่อนใจเป็น POI แต่สิ่งต่างๆ เช่น น้ำพุโดยทั่วไปจะไม่ใช่ POI (เว้นแต่จะมีคุณค่าระดับชาติหรือทางประวัติศาสตร์)
ฟังเหตุการณ์การคลิกใน POI
หากต้องการตอบสนองต่อการแตะ POI ของผู้ใช้ คุณสามารถใช้
OnPoiClickListener ดังที่แสดงในตัวอย่างโค้ด
ต่อไปนี้
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 จะปรากฏบนแผนที่โดยค่าเริ่มต้น แต่ไม่มี UI ที่จะแสดงเมื่อคลิกโดยค่าเริ่มต้น นั่นคือ API จะไม่แสดงหน้าต่างข้อมูลหรืออินเทอร์เฟซผู้ใช้อื่นๆ โดยอัตโนมัติเมื่อผู้ใช้แตะ POI
ตัวอย่างข้างต้นแสดงให้เห็นว่าคุณตั้งค่า
OnPoiClickListener บนแผนที่โดย
เรียกใช้
GoogleMap.setOnPoiClickListener(OnPoiClickListener)
เมื่อผู้ใช้คลิก (แตะ) POI แอปจะได้รับเหตุการณ์
OnPoiClick(PointOfInterest) ซึ่งระบุจุดที่น่าสนใจ (POI) ที่ผู้ใช้คลิก The
PointOfInterest จะมีพิกัดละติจูด/ลองจิจูด
รหัสสถานที่ และชื่อของจุดที่น่าสนใจ
หยุดไม่ให้ POI แสดงบนแผนที่
คุณสามารถซ่อนจุดที่น่าสนใจ (POI) ได้โดยใช้รูปแบบที่กำหนดเองกับ POI ทั้งหมดหรือ POI บางหมวดหมู่
การประกาศรูปแบบ JSON ต่อไปนี้จะซ่อน POI ธุรกิจทั้งหมดบนแผนที่
[
{
"featureType": "poi.business",
"stylers": [
{ "visibility": "off" }
]
}
]
ตัวอย่างอีกอย่างหนึ่งคือ JSON ต่อไปนี้จะทำให้การแสดง POI ทุกหมวดหมู่เรียบง่ายขึ้น
[
{
"featureType": "poi",
"stylers": [
{ "visibility": "simplified" }
]
}
]
ดูโค้ด Java และรายละเอียดอื่นๆ ได้ที่คู่มือการ ซ่อนฟีเจอร์แผนที่ด้วยการจัดรูปแบบ